PHP 7脚本不显示错误,或将它们写入日志

问题描述:

我一直在抨击我的头,试图将一些超级旧的PHP脚本移植到PHP 7.0,这被证明是不可能的,因为我无法弄清楚错误是什么!如果我执行某种语法或解析错误,脚本会高兴地向我展示这些内容,但我无法获得任何错误,告诉我当我尝试调用lkasjdfalkjshdfasdF();(显然未设置)时,我的函数未定义。PHP 7脚本不显示错误,或将它们写入日志

事情我已经尝试:

这是我.htaccess文件在同一目录作为我的脚本

php_flag display_startup_errors on 
php_flag display_errors   on 
php_flag html_errors   on 
php_flag log_errors    on 
php_value error_log    "/var/log/apache2/error.log" 

我也有这个在我的脚本的顶部

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

如果我在我的一行上添加了echho 'test';,它会在页面上显示以下内容,并在错误日志中显示

Parse error: syntax error, unexpected ''test'' (T_CONSTANT_ENCAPSED_STRING) in /domains/stupidphpscripts.com/public_html/lib/dumbfile.php on line 200 

如果我在我的一行上添加echo asdfasdf();,我没有输出,并且错误日志中没有任何内容。

我甚至写了这个愚蠢的功能

$DebugPointCointer = 0; 

function DebugPoint() { 
    global $DebugPointCointer; 

    echo "Debug point $DebugPointCointer on line " . debug_backtrace(1)[0]['line'] . "\n"; 

    $DebugPointCointer++; 
} 

所以,我可以确保该脚本是失败,我怀疑,但在所有诚实,这些信息并没有真正帮助我。

还剩什么可尝试?

+0

/var/log/apache2/error.log为空,并且权限是什么? –

+0

如果该日志文件真的是空的,那就是错误的文件。 – arkascha

+0

@DarrellUlm它不是空的,我注意到的错误工作成功进入日志文件,但没有显示在任何地方的错误也没有显示在该日志文件中,但日志文件显然与工作错误在同一个脚本中 –

E_ALL是不够的。

使用:

error_reporting(-1); //所有与未来(至今仍枝繁叶茂inplemented功能)的开发环境!

你真的在正确的主机上运行吗?

  • 可能是存储到不同错误日志的虚拟主机?

主脚本是否有任何ats“@” - > @functionToCall()包含哪些东西?