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