You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下Apache无法加载PHP、解析PHP文件问题求助

Apache无法加载PHP文件的解决方法

我之前在Ubuntu环境里碰到过一模一样的问题,结合你给出的环境信息,给你整理了两个可行的解决方案,你可以根据自己的需求选择:

方案一:使用Apache原生PHP模块(简单直接)

你的/etc/apache2/mods-available目录里没有php7.0.conf和php7.0.load,说明根本没安装Apache对应的PHP模块包,这是最直接的原因。

  1. 更新软件源并安装模块包
    执行以下命令:
sudo apt-get update
sudo apt-get install libapache2-mod-php7.0

安装完成后,系统会自动启用这个模块,不过保险起见你也可以手动执行:

sudo a2enmod php7.0
  1. 重启Apache服务
sudo systemctl restart apache2

方案二:通过php-fpm配合proxy_fcgi模块(适合与Nginx共存场景)

你已经手动启用了proxy相关模块,接下来需要补全php-fpm的配置,让Apache把PHP请求转发给php-fpm处理:

  1. 安装php7.0-fpm(你当前只有CLI版本,缺少FPM服务)
sudo apt-get install php7.0-fpm
  1. 配置Apache与php-fpm的转发规则
    创建一个专门的配置文件:
sudo nano /etc/apache2/conf-available/php7.0-fpm.conf

在文件里添加以下内容:

<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost/"
</FilesMatch>

保存并退出编辑器(按Ctrl+O,回车,再Ctrl+X)。

  1. 启用这个配置并重启服务
sudo a2enconf php7.0-fpm
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm
sudo systemctl restart apache2

额外注意事项

  • 因为你同时部署了Nginx和Apache,默认两者都监听80端口会冲突,建议修改其中一个的监听端口。比如修改Apache的话,编辑/etc/apache2/ports.conf,把Listen 80改成Listen 8080,然后对应虚拟主机配置里的<VirtualHost *:8080>,测试时用http://你的服务器IP:8080访问。
  • 测试是否生效:在Apache的网站根目录(比如/var/www/html)创建一个测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php

访问这个文件,如果能正常显示PHP信息,就说明配置成功了。

内容的提问来源于stack exchange,提问作者sa Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:31:41