Although I set everything to false/0 in the development.php,
the PHP notices and warnings are still shown, preventing the proper use of the site.
How can I disable it for latest Bedrock?
Example notice:
ErrorException: Undefined index: default_attributes_xpath in file /srv/www/web/app/plugins/woocommerce-xml-csv-product-import/views/admin/import/product/_tabs/_variations.php on line 855
Although the script execution doesn’t stop at that point,
the page is rendered unusable by the unexpected markup.
Edit: ErrorException is handled by Illuminate\Bootstrap\HandleExceptions:
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
The underlying issue is apparently in the Illuminate/Foundation package in the exceptions handler
(vendor/roots/acorn/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:68).
/**
* Convert PHP errors to ErrorException instances.
*
* @param int $level
* @param string $message
* @param string $file
* @param int $line
* @param array $context
* @return void
*
* @throws \ErrorException
*/
public function handleError($level, $message, $file = '', $line = 0, $context = [])
{
if (error_reporting() & $level) {
throw new ErrorException($message, 0, $level, $file, $line);
}
}
The bitwise comparison error_reporting() & $level doesn’t work with -1 for error_reporting() in order to disable all PHP errors, warnings and notices.
For example, E_NOTICE got value 8 and -1 & 8 results in true.
I also noticed that the illuminate/foundation package used by acorn is abandoned and its GitHub repository removed:
This package is abandoned and no longer maintained. No replacement package was suggested.
Edit: error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE); doesn’t work either.