4

I will start by writing that I did see similar questions, and I did try the suggested solutions.

I am running a cli, when I purposely put a parse error in the php file, I get no error in stdOut.
I am using the below configurations:
22527 for error_reporting is
ini_set('error_reporting', E_ALL|E_STRICT);

PHP 5.5.20 (cli) (built: Jan  9 2015 11:20:56) 
php -i | grep error 
display_errors => STDOUT => STDOUT
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => Off => Off
log_errors_max_len => 1024 => 1024
track_errors => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off

ADDITION: If I add my own fatal handler:

    function fatal_handler() {
        $error = error_get_last();
        if ($error !== null) {
            echo ("\n\nERROR occured!\nFile [{$error['file']}].\nLine: [{$error['line']}].\nMessage: [{$error['message']}]\n\n");
        }
        exit(1);
    }
register_shutdown_function("fatal_handler");

I do get to see the error in stdio.

Below is an example to a code (with parse error) that does not produce errors for me

class A{
   const AAA = 'aaa';
   static public function Result(A::AAA){

   }
}
Itay Moav -Malimovka
  • 52,579
  • 61
  • 190
  • 278

1 Answers1

0

The error_reporting => 22527 => 22527 is equivalent to E_ALL & ~E_DEPRECATED & ~E_STRICT.

Use -1 or E_ALL error level (E_ALL | E_STRICT in PHP 5.4) to show all errors.

Set it in the ini file php.ini.

error_reporting = -1

The following won't work, because the code contains a parse error so the ini_set() never gets called.

<?php

ini_set('error_reporting', -1)

class A 
{
    const AAA = 'aaa';

    static public function Result(A::AAA) 
    {
    }
}
hek2mgl
  • 152,036
  • 28
  • 249
  • 266
Gerard Roche
  • 6,162
  • 4
  • 43
  • 69