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

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.4或php8.1等具体版本包已安装(apt search php | grep ^php查看可用版本) - 启用模块:
sudo a2enmod php8.1(版本号必须和实际安装一致) - 重启服务:
sudo systemctl restart apache2 - 写个
/var/www/html/info.php,内容为 ,访问http://localhost/info.php确认输出正常
Nginx + PHP-FPM 是生产推荐组合(通用性强)
PHP 以独立进程池运行,更稳定、可调参数多、能平滑重启、天然支持多版本。但配置稍复杂,容易卡在 502 Bad Gateway —— 通常因为 PHP-FPM 没启、socket 路径不匹配、或权限不对。
SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板
- 安装:
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.conf里listen =的值一致(常见路径有/run/php/phpX.Y-fpm.sock或/var/run/php/phpX.Y-fpm.sock) - 检查用户权限:Nginx worker 用户(通常是
www-data或nginx)必须对 socket 文件有读写权,可在www.conf中设listen.owner = www-data和listen.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。
立即学习“PHP免费学习笔记(深入)”;










