【问题标题】:PHP files in certain dir result in HTTP 500 error某些目录中的 PHP 文件导致 HTTP 500 错误
【发布时间】:2013-10-30 09:09:50
【问题描述】:

我正面临一个奇怪的情况。对于一个网站,一些 cronjobs 正在执行。到目前为止,这一切都运作良好;当我尝试执行 cronjob 时,我没有得到任何结果。由于某种原因,.htaccess 会识别 URL,试图将其放入带有错误 $_GET 参数的站点。第二个参数是 500。当我尝试访问一个不存在的文件时,第二个参数变为 404。所以我认为这些必须是 http 响应代码。

当使用 Chrome 的网络检查器时,我看到一个 - 应该是 - 工作 cronjob 的结果是一个 http 500。我一无所知......有没有什么方法可能是由其他人设置的,偶然的,也许是由ISP在php.ini或httpd.conf某处我能看吗?

结构是http://www.domain.com/CronJobs/file.php。我发现它只发生在CronJobs 文件夹中的文件上。 Cronjobs 应该使用wget 执行。

-- 加法

如果有帮助的话,.htaccess 中用于请求的规则是:

RewriteCond %{REQUEST_URI} !^(.*)FCKEditor(.*)$
RewriteRule ^(.*).html$ /index.php?pageId=LandingPage&Alias=$1 [L]

显然不应该使用任何规则,服务器应该只提供所请求的 PHP 文件。

-- 第二次加法

我还尝试清空 .htaccess 文件,然后请求 cronjob。我仍然收到错误 500。只是这一次是从 PHP 文件本身提供的,而不是从 index.php(由原始 .htaccess 内容使用)提供的。

【问题讨论】:

  • CrobJobs 文件夹中是否有 .htaccess?
  • 不,没有。也没有。
  • 文档根目录下的 htaccess 文件中有什么内容?
  • 你需要检查你的服务器日志,500表示服务器内部错误,你的php代码有问题。
  • @ChristopherMorrissey,实际上不可能;使用的测试文件只包含纯文本hello。这也导致了错误 500。

标签: php apache .htaccess cron


【解决方案1】:

找到了问题,希望这个答案对以后的人有所帮助。

好的,这个有点让人分心,但我发现了我的问题。权限。 我已将文件夹权限设置为 777,而该文件夹可能不可写。我已将权限改回 755,它又可以正常工作了。

日志中的错误都是这样的:[Mon Oct 21 20:00:01 2013] [warn] Directory "/home/accountname/domains/domain.com/public_html/CronJobs" is writeable by group

根据该错误进行搜索后,我遇到了https://my.hostmonster.com/cgi/help/594,这就是我看到权限问题的地方。

(我之前为一个简单的锁定文件将权限设置为 777)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多