![PHP 无法渲染](https://linux22.com/image/1062420/PHP%20%E6%97%A0%E6%B3%95%E6%B8%B2%E6%9F%93.png)
我是 Ubuntu 新手!到目前为止,我真的很喜欢这个操作系统,尽管我遇到了障碍,所以如果我的问题的解决方案很简单并且是重复的帖子,请原谅。
我的机器之前成功提供 PHP 文件,但是在安装 Composer/Laravel 后没有任何错误消息,现在尝试提供相同的文件时出现 HTTP 错误 500“此页面无法正常工作”。
我已确保我的安装是最新的:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
确认 apache2 服务正在运行服务 apache2 状态并且 PHP 通过以下方式运行:
php -r 'echo "\n\nYour PHP installation is working fine.\n\n\n";'
但是,当尝试通过浏览器提供 PHP 文件(例如 localhost/index.php)时,会收到 HTTP 500 错误。
我尝试过解决方案,但没有成功这里, 如下:
sudo apt-get install libapache2-mod-php
sudo a2enmod php7.0
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo service apache2 restart
sudo apt-get install php-fpm
sudo a2enconf php7.0-fpm
sudo apt-get install php-cgi
a2enconf php7.0-cgi
非常感谢您的帮助!
答案1
Apache 错误日志中应该有一个条目与每个 HTTP 500 错误相对应。检查/var/log/apache2/error.log
(我认为)底部是否有任何与错误相对应的行。
大多数时候这应该可以表明问题是什么。
顺便说一句,您采取的步骤已经与其他步骤有些冲突。您可以运行线程安全的 PHP,或使用 Apache prefork MPM 的 PHP,或以 FastCGI 形式在 php-fpm 下运行的 PHP,或以 CGI 形式运行的 PHP。但您已安装了用于执行所有这些操作的软件包,我不确定您尝试了哪些其他配置。
最简单的解决方案就是安装 apache2 和 php,并使用 Apache 上的 mpm_prefork MPM(如果安装 PHP,Ubuntu 应该默认使用它)和 mod_php。
答案2
就此结束吧 - 我通过清除并重新安装 Apache2 和 PHP 解决了这个问题。真正的问题是我的网络技能差!