2

This is a tale of two different php files.

File 1 source:

<?php $null->test();

File 1 output:

Fatal error: Call to a member function test() on a non-object in
/wwwroot/sites/example.com/public/fatal.php on line 1

This is also printed to /var/log/php-fpm/www-error.log (as defined in my www.conf)

File 2:

class A {}

function test(A $obj) {
    echo 'here...';
}

var_dump('started');
$a = new A();
test($a);

var_dump('this is going to error out');
test($null);

var_dump('do we get here?');

File 2 output:

string 'started' (length=7)
here...
string 'this is going to error out' (length=26)

No error is logged.

Relevant settings from /etc/php-fpm.d/www.conf:

catch_workers_output = yesphp_flag[display_errors] = on
php_flag[display_startup_errors] = on
php_admin_value[error_reporting] = 1
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 128M

Any ideas?

1 Answer 1

7
php_admin_value[error_reporting] = 1

A value of 1 means errors of type E_ERROR only. Your code generates an E_RECOVERABLE_ERROR.

http://www.php.net/manual/en/errorfunc.constants.php

1
  • Oh wow. Serves me right for copy-pasting that. Changed to E_ALL & ~E_NOTICE and we're good! Thank you.
    – Vic
    Mar 15, 2013 at 20:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .