Php 500内部服务器错误?

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>

最近,我把我的项目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测试页
这是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替换过程中是否存在错误。