500内部服务器错误?

最近,我把我的项目是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