Linux启动PHP服务方法
- Linux
- 2025-06-18
- 4132
sudo systemctl start php-fpm
(以实际安装版本如 php8.1-fpm 为准),并设置开机自启:
sudo systemctl enable php-fpm
,需确保已安装对应 PHP-FPM 包。
在 Linux 系统中启动 PHP 服务通常涉及两种主流方式:作为 Apache 模块或作为独立的 PHP-FPM 服务(与 Nginx 等服务器配合),以下是详细操作指南:
准备工作:安装 PHP
在启动前,请确保 PHP 已正确安装:
# 检查 PHP 版本(验证是否安装) php -v # 若未安装,根据发行版选择命令 # Ubuntu/Debian sudo apt update && sudo apt install php libapache2-mod-php php-fpm php-cli # CentOS/RHEL sudo yum install epel-release sudo yum install php php-fpm php-mysqlnd
启动 PHP 服务的两种方式
▶ 方式 1:作为 Apache 模块 (mod_php)
适用于 Apache Web 服务器。
-
启用 PHP 模块
sudo a2enmod php* # Ubuntu/Debian sudo systemctl restart apache2
CentOS 默认启用,重启 Apache 即可:
sudo systemctl restart httpd
-
验证配置
创建测试文件/var/www/html/info.php
<?php phpinfo(); ?>
访问
http://服务器IP/info.php
,显示 PHP 信息页即成功。
▶ 方式 2:作为 PHP-FPM 服务 (与 Nginx 配合)
PHP-FPM(FastCGI Process Manager)是独立进程,需与 Web 服务器协作。
-
启动 PHP-FPM 服务
sudo systemctl start php-fpm # 启动
sudo systemctl enable php-fpm # 设置开机自启
-
配置 Nginx 支持 PHP
编辑站点配置文件(如 /etc/nginx/sites-available/default
),在 server
块内添加:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock; # 根据实际 sock 路径调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
重启 Nginx:
sudo systemctl restart nginx
-
验证
创建测试文件(如 /var/www/html/test.php
)并访问,显示 phpinfo()
页面即成功。
管理 PHP 服务常用命令
操作
命令 (PHP-FPM)
命令 (Apache)
启动服务
sudo systemctl start php-fpm
sudo systemctl start apache2
停止服务
sudo systemctl stop php-fpm
sudo systemctl stop httpd
重启服务
sudo systemctl restart php-fpm
sudo systemctl restart apache2
查看状态
sudo systemctl status php-fpm
sudo systemctl status apache2
开机自启
sudo systemctl enable php-fpm
sudo systemctl enable apache2
常见问题解决
-
PHP 页面不解析,直接显示代码
- Apache:检查是否启用
libapache2-mod-php
模块,并重启 Apache。
- Nginx:确认
fastcgi_pass
路径正确(通过 ls /run/php/php*.sock
验证)。
-
502 Bad Gateway 错误
- PHP-FPM 未运行:执行
sudo systemctl start php-fpm
。
- Nginx 配置中
fastcgi_pass
路径与实际 sock 文件不一致。
-
权限问题
确保 Web 目录(如 /var/www/html
)所有者是 Web 服务器用户(如 www-data
或 nginx
):
sudo chown -R www-data:www-data /var/www/html
安全建议
-
隐藏 PHP 版本信息
编辑 /etc/php/*/fpm/php.ini
(PHP-FPM)或 /etc/php/*/apache2/php.ini
(Apache),设置:
expose_php = Off
-
定期更新 PHP
使用包管理器保持 PHP 最新:
sudo apt upgrade php* # Ubuntu/Debian
sudo yum update php* # CentOS/RHEL
- Apache 用户:通过
libapache2-mod-php
模块直接集成 PHP,重启 Apache 生效。
- Nginx 用户:需独立运行 PHP-FPM 服务,并在 Nginx 配置中反向代理 PHP 请求。
无论哪种方式,务必通过 phpinfo()
测试页面验证服务状态,并遵循最小权限原则保障安全。
引用说明:本文操作基于主流 Linux 发行版(Ubuntu 22.04/CentOS 8),参考 PHP 官方文档及 Nginx/Apache 最佳实践,命令路径可能因版本差异略有不同,建议通过 systemctl status php-fpm
或 apachectl -M
获取实际配置信息。