登录
首页 >  文章 >  php教程

Linux下PHP环境安装配置教程

时间:2026-02-07 11:57:39 326浏览 收藏

积累知识,胜过积蓄金银!毕竟在文章开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《PHP在Linux上安装运行环境教程》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

PHP Web环境需手动配置:Apache+mod_php适合开发但内存开销大;Nginx+PHP-FPM为生产推荐,需确保版本对齐、socket路径匹配及权限正确,配置后须验证各组件版本一致性。

PHP如何于Linux装运行环境_PHP于Linux装运行环境办法【指引】

PHP 运行环境在 Linux 上不是“装一个包就完事”

直接用系统包管理器安装 php 包,大概率只能跑 CLI 脚本,Web 请求根本进不来。Apache 或 Nginx 不会自动把 PHP 文件交给 PHP 解释器处理,得手动配模块或代理,否则浏览器打开 index.php 就是直接下载或显示源码。

Apache + mod_php 是最简 Web 环境(仅限 Debian/Ubuntu)

适合本地开发或小项目,但要注意:mod_php 把 PHP 绑死在 Apache 进程里,每个请求都加载全部扩展,内存开销大,且不支持多版本共存。

  • 执行 sudo apt update && sudo apt install apache2 php libapache2-mod-php
  • 确保 php7.4php8.1 等具体版本包已安装(apt search php | grep ^php 查看可用版本)
  • 启用模块:sudo a2enmod php8.1(版本号必须和实际安装一致)
  • 重启服务:sudo systemctl restart apache2
  • 写个 /var/www/html/info.php,内容为
    <?php phpinfo(); ?>
    ,访问 http://localhost/info.php 确认输出正常

Nginx + PHP-FPM 是生产推荐组合(通用性强)

PHP 以独立进程池运行,更稳定、可调参数多、能平滑重启、天然支持多版本。但配置稍复杂,容易卡在 502 Bad Gateway —— 通常因为 PHP-FPM 没启、socket 路径不匹配、或权限不对。

  • 安装:sudo apt install nginx php-fpm(Debian/Ubuntu);CentOS/RHEL 用 sudo dnf install nginx php-fpm
  • 确认 PHP-FPM 服务状态:sudo systemctl status php8.1-fpm(版本名需匹配)
  • 编辑 Nginx server 块,关键段落必须包含:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
  • fastcgi_pass 的 socket 路径要和 php-fpm.conflisten = 的值一致(常见路径有 /run/php/phpX.Y-fpm.sock/var/run/php/phpX.Y-fpm.sock
  • 检查用户权限:Nginx worker 用户(通常是 www-datanginx)必须对 socket 文件有读写权,可在 www.conf 中设 listen.owner = www-datalisten.group = www-data

别跳过验证步骤,尤其注意版本对齐和错误日志

PHP CLI 版本(php -v)、Web 模块版本(phpinfo() 输出)、FPM 配置版本(php-fpm -t)、Nginx 日志(/var/log/nginx/error.log)、PHP-FPM 日志(/var/log/php8.1-fpm.log)四者不一致,是绝大多数“页面空白”“502”“500”的根源。改完任何配置,先 sudo nginx -t 测语法,再 sudo systemctl reload nginx,而不是直接 restart

到这里,我们也就讲完了《Linux下PHP环境安装配置教程》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>