PHP没有显示某种错误(来自apache)

时间:2014-10-29 13:03:04

标签: php apache ubuntu-14.04

我正在使用

在服务器上工作
ubuntu 14.04 
php 5.3.10.
apache 2.2.22

这些是php.ini错误设置:

display_errors = off
error_reporting = E_ALL & ~E_DEPRECATED

php.ini的apache版本与某些禁用的函数的cli版本不同:

pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

这是我的代码:

<?
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
ini_set('error_log','/tmp/php_errors_'.$_SERVER['SERVER_NAME'].'.log');
abstract class master 
{
    abstract public function metodo ();
}

class slave extends master
{
    function __contruct()
    {
        echo "HI!";
    }
}

$b = new slave();
来自CLI的

我将收到此错误():

PHP Fatal error:  Class slave contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (master::metodo) in /home/lbarby/prova.php on line 13

但是从apache运行相同的脚本我获得了空白页面! 怎么了? 有什么建议吗?

更新 要明确:我的问题是我不明白为什么PHP下的PHP在CLI中没有显示任何错误(正如预期的那样!)。


解决 我找到了一个解决方案:您必须使用数字值(而不是使用数字值)(请参阅php.net上的预定义常量)。

1 个答案:

答案 0 :(得分:1)

display_errors 设为开启状态。如果设置为关闭则不会显示任何内容。