首页 > 编程知识 正文

apache加载php,写日志 php

时间:2023-05-05 12:30:19 阅读:136066 作者:1880

apache-php返回500错误,但没有错误日志

返回内部服务器错误(500 )的PHP APP应用程序出现了问题,但错误日志中不会显示任何内容。

现在我知道要执行的内容有错误。 我知道有些文件缺失了,但没有丢失。 但是,应该在apache的错误日志中显示一些内容。 否则,应该如何正确地知道自己缺少的内容)。

我编写了测试脚本。 由于此脚本在同一vhost配置中出现错误,并经常显示这些错误,因此所有这些错误似乎都已正确配置在php/apache中。 是否存在错误日志中显示的php错误? (php是否设置为显示所有类型的通知、警告、错误、致命错误等?

这是在ubuntu 10.04中使用标准apache和ubuntu repo中的带apt-get的php完成的。

11个解决方案

51 votes

扫描源文件以找到@。

从php文档网站

当前,即使禁用错误报告,“@”错误控制运算符前缀也会中止脚本执行严重错误。 另外,如果使用“@”来抑制功能错误、无法使用或输入错误,则脚本会在没有给出理由的情况下死在那里。

lucmanswered 2020-01-06t 06336054336034 z

6 votes

有什么东西可能会关闭错误输出。 你知道其他脚本试图将错误正确输出到错误日志吗? )

您可以通过确定脚本结束的位置来开始调试脚本。 首先,在脚本的第一行添加echo 1。 退出;检查浏览器是否输出1,并将行下移。)。

akirkanswered 2020-01-06t 0633605336000 z

6 votes

复制以下内容并将其粘贴到新的. htaccess文件中,然后将其放置在网站的根文件夹中:

php_flag display_errors on

PHP _ flag display _ startup _ errors on

错误直接显示在页面上。

这非常适合快速调试,但不要长时间使用,因为这可能会违反安全性。

melomananswered 2020-01-06t 06336055336028 z

5 votes

以前,在两种情况下没有错误日志:

运行Apache的用户无权修改. htaccess文件。

. htaccess配置错误(例如,模块设置重写错误)导致错误500。 在这种情况下,错误将记录在Apache error_log文件中。

sgnsajgonanswered 2020-01-06t 06336055336057 z

3 votes

对于Symfony项目,请确保检查项目的APP应用程序/日志中的文件

这个帖子的详细内容如下。

如何在Symfony 2中调试500错误

顺便说一下,在其他框架和CMS中共享这种行为。

balmipouranswered 2020-01-06t 06336056336030 z

2 votes

这是看不到错误的另一个原因。

我遇到过同样的问题。 对于我来说,我从生产环境中复制了源。 因此,在index.php中定义的ENVIRONMENT变量将被设置为“production”。 这会将error_reporting设置为0 (无记录)。 只要将其设置为" development ",apache日志就会开始显示错误消息。

原始500在数据库配置中是冒号:-)

aswinkumaranswered 2020-01-06t 06336057:00 z

2 votes

发生在我身上的另一种情况是CURL处理了一些页面,出现了内部服务器错误。 即使启用了所有错误报告,apache日志中也没有任何内容。

我的问题是在我设置的CURL中输入curl_setopt($Cr,CURLOPT_FAILONERROR,true );

而且,这个错误没有显示出我的错误。 尽管发生了错误,但这不会显示在日志中,因为错误发生在框架级别而不是PHP级别。

Eric.itzhakanswered 2020-01-06t 06336057336029 z

0 votes

必须启用PHP错误日志。

这是因为发生php错误时,Web服务器发生了随机故障,导致了500个内部错误(存在同样的问题)。

查看PHP错误日志时,需要找到解决方案。

在文档中查看如何在php.ini中启用

Neal answered 2020-01-06t 06336058336004 z

0 votes

验证文件的权限是否正确。 如果apache没有读取文件的权限,则无法写入日志。

johnnyruinanswered 2020-01-06t 06336058336024 z

0 votes

如果还有500个错误且没有日志,请尝试从命令行运行。

php -f file.php

其工作方式与浏览器完全不同,但如果代码中存在语法错误,控制台将显示错误消息。

jcubicanswered 2020-01-06t 06336058336049 z

0 votes

我推测当我遇到问题时,发生的是该站点使用了大量内存,因此无法写入错误日志或显示错误。 为了清楚起见,这是Wordpress的网站。 如果提高服务器的内存限制,站点将再次显示。

John-Henry answered 2020-01-06t 06336059336010 z

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。