我有一个php脚本,它根据一些过滤器搜索数据库,并回显结果数量。我使用ajax请求此文件,以便能够在用户更改某些选择后立即显示搜索返回的结果数。
这在本地主机上运行得很好,但它不在生产服务器上,因为我不知道出了什么问题(没有可见的错误)我直接调用了php脚本,看它是否有任何错误或不。我得到的是<!-- SHTML Wrapper - 500 Server Error -->
[an error occurred while processing this directive]
php包括2个文件,数据库连接信息和一些初始化的东西。我使用了相对路径,两个文件都在正确的位置,具有正确的权限。
我检查了错误日志,因为那里什么也没有。我用谷歌搜索了这个,但没有具体的内容,ATM我不知道如何解决这个问题。 请指教!
答案 0 :(得分:2)
根据信息I have seen elsewhere,这可能是由脚本上的文件权限不正确引起的。可能不允许它们在服务器上是其他可写的。下面的论坛帖子表明,666
或777
等权限会导致此问题。如果这就是你所拥有的,那么你需要在生产主机上chmod 644
或chmod 755
你的脚本。
答案 1 :(得分:1)
你应该查看apache日志。
答案 2 :(得分:0)
步骤1:在PHP中启用错误打印
为了找出错误,请为PHP启用错误。
来自http://www.bradino.com/php/error-reporting/:
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
如果不起作用,请编辑php.ini(参见http://php.net/manual/en/errorfunc.configuration.php)并设置:
display_errors=1
如果您不知道php.ini所在的位置:
<?php phpinfo(); ?>
找到“配置文件(php.ini)路径”。有关可视化说明,请参阅:http://www.php-scripts.com/20050909/8/
第2步:调试Apache / Web服务器日志
如果您仍然没有在PHP中出现任何错误,则问题必须出在Web服务器上:
如果您使用的是Apache,请找到access.log
和error.log
,看看它们是否包含与此问题相关的消息。
提示:tail -f xxx.log
允许您实时跟踪日志中的更改(对调试非常有用)。
答案 3 :(得分:0)
关于文件权限问题,现在它正在为我工作......
文件夹权限必须是755其他权限,例如(752,753,756和777)导致限制,并且无效。
文件权限必须是644其他权限,例如(642,643,646和647)导致限制并且不起作用..
答案 4 :(得分:0)
就我而言,这个错误是由像这样的评论中的#标签引起的:
<!--#featured-item -->
我通过删除评论中的主题标签解决了这个问题
<!--featured-item -->