Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 7 down vote accepted
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

share|improve this answer
    
Oh wow. Serves me right for copy-pasting that. Changed to E_ALL & ~E_NOTICE and we're good! Thank you. – Vic Mar 15 '13 at 20:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.