发布于2026-07-16 阅读(0)
扫一扫,手机访问
在Ubuntu环境下让Apache2支持PHP,其实并不复杂,但步骤上有些细节需要注意。下面就把整个过程拆解清楚,从最基础的包管理到可选的安全加固,一步不落。

动手之前,先确保系统里的软件包索引是最新的,这是个好习惯:
sudo apt update
接下来安装PHP本体,以及Apache与PHP之间的桥梁模块——libapache2-mod-php。顺带把命令行工具和PHP-FPM也装上,后面会用到:
sudo apt install php libapache2-mod-php php-cli php-fpm
这里安装的是当前Ubuntu源里默认的PHP版本,比如Ubuntu 20.04对应的是PHP 7.4,后续命令里也要注意版本号保持一致。
安装完成后,需要用a2enmod命令显式启用PHP模块。注意版本号要匹配:
sudo a2enmod php7.4
# 如果你装的是其他版本,比如php8.1,就把7.4换成对应的数字
模块启用后,让Apache重新加载配置才能生效:
sudo systemctl restart apache2
配置是否生效,最好的办法就是写个测试页面。在Apache的默认文档根目录(通常是/var/www/html)下新建一个文件:
sudo nano /var/www/html/info.php
里面写入最简单的PHP探针代码:
保存退出后,在浏览器里访问 http://你的服务器IP/info.php。如果能看到PHP信息页面,说明Apache已经成功解析PHP了。
这个页面在生产环境中记得删掉,否则会暴露服务器敏感信息。
如果你用的是PHP-FPM模式(而非mod_php),这里需要额外几步。先检查PHP-FPM服务是否在运行:
sudo systemctl status php7.4-fpm
# 同样,版本号要对
如果没启动,执行:
sudo systemctl start php7.4-fpm
然后要让Apache知道:所有.php文件都交给PHP-FPM处理。编辑Apache的站点配置文件,比如/etc/apache2/sites-a vailable/000-default.conf,在块内添加:
SetHandler "proxy:fcgi://localhost:9000"
最后重启Apache:
sudo systemctl restart apache2
这样PHP请求就会通过FastCGI协议转发到PHP-FPM进程,性能上通常比mod_php更好,适合高并发场景。
生产环境建议再做一些安全加固,虽然不强制,但能省很多麻烦。比如修改/etc/php/7.4/apache2/php.ini:
max_execution_time,防止脚本死循环耗尽资源。exec、system、passthru这些函数,如果业务不需要,直接禁掉更安心。display_errors设为Off,同时确保log_errors开启,这样线上问题可以通过日志排查,而不暴露给用户。做完这些,你的Ubuntu+Apache2+PHP环境就基本就绪了。从测试页面到安全配置,每一步都经得起推敲——这就是经验之谈。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8