最近,我把我的项目是php + smarty + mysql在我的httpd服务器上。 但是我遇到一个错误,说:
500 Internal Server Error
我的操作系统是archlinux,httpd服务器和php是这样安装的:
sudo pacman -S apache php
如果我使用包含以下内容的testing原生php文件:
<html> <head> <title>PHP Test Page</title> </head> <body> This is Arch Linux, running PHP. <?php phpinfo(); ?> </body> </html>
它正确运行。 它告诉我,PHP可以很好地工作。 但为什么我的项目与聪明不工作? 有没有人遇到过这个问题?
你提供的信息很难说。
发生错误500是因为您在应该生成页面的代码中执行了一些错误,或者代码生成了一些未处理的异常。 我的建议是访问给你500错误的页面,然后尝试注释掉你所有的代码。 看看问题是否仍然存在。 如果不是,取消注释代码,直到找到发生错误的关键部分。 可能是任何东西,一个错字,一个没有找到的文件,一个逻辑错误,任何东西。
另外,如果可以阅读,请检查网络服务器日志。
看看你的Apache错误日志(通常在/var/log/httpd/error_log
,尽管这个变化很大)。 它将有更多有关服务器错误的信息。
检查以确保任何.htaccess文件是正确的(语法明智)。
刚刚发生在我身上,想写下解决方案。
配置的Smarty缓存目录(/ var / cache / Smarty)配置的权限不正确,apache进程需要在该目录中创建文件。
这是你用compile_dir指令设置的目录。
顺便说一句,error_log文件不显示任何与此错误,Firebug显示500内部服务器错误。
我能够通过检查error.log文件里面得到错误的细节
在/ var /日志/的Apache2
在Ubuntu 16.04