Php 500内部服务器错误?
最近,我把我的项目php+smarty+mysql放在我的httpd服务器上。但我遇到了一个错误,上面写着:Php 500内部服务器错误?,php,mysql,smarty,apache,Php,Mysql,Smarty,Apache,最近,我把我的项目php+smarty+mysql放在我的httpd服务器上。但我遇到了一个错误,上面写着: 500 Internal Server Error 我的操作系统是archlinux,httpd服务器和php的安装方式如下: sudo pacman -S apache php 如果我使用包含以下内容的测试本机php文件: <html> <head> <title>PHP Test Page</title>
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测试页
这是ArchLinux,运行PHP。
它运行正常。它告诉我php可以很好地工作。但为什么我和smarty的项目不起作用?有人遇到过这个问题吗?查看您的Apache错误日志(通常可以在
/var/log/httpd/error\u log
中找到,尽管差异很大)。它将提供有关服务器错误的更多信息。您提供的信息很难说
发生错误500是因为您在应该生成页面的代码中出错,或者代码生成了一些未处理的异常。
我的建议是访问给出500错误的页面,然后尝试注释掉所有代码。看看问题是否仍然存在。如果没有,请取消对代码的注释,直到找到引发错误的关键部分。可能是任何东西,打字错误,找不到文件,逻辑错误,任何东西
此外,如果可以阅读,请检查Web服务器日志。检查以确保所有.htaccess文件都正确(语法方面)。我刚刚遇到了问题,想写下解决方案 配置的Smarty缓存目录(/var/cache/Smarty)配置的权限不正确,apache进程需要在该目录中创建文件 这是使用compile_dir指令设置的目录
顺便说一句,错误日志文件没有显示与此错误相关的任何内容,Firebug显示了一个500内部服务器错误。我可以通过检查内部的error.log文件获得错误详细信息 /var/log/apache2
在ubuntu 16.04中,你创建了目录结构吗?如果这是一个多选物理问题,我会选择“不够详细”。你能找到你的apache错误日志(在/var/log/httpd中尝试)吗?如果是这样的话,里面可能有一些线索,如果你仍然不知所措,试着发布问题中日志的最后几行。错误日志文件没有包含任何关于错误的错误消息。这是非常不寻常的。我建议您确保查看的文件是正确的;虚拟主机可以有自己的错误日志等。该页面是smarty的tpl文件,不显示任何内容。firebug工具会捕获错误消息“500 Internal Server error”。firebug会捕获服务器生成的任何内容。这500是由您的服务器返回的。检查模板文件或php/smarty替换过程中是否存在错误。