我正在使用
在服务器上工作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上的预定义常量)。