Hi, currently this GA installs PHP with its default php.ini, which is for Linux the one taken from Ondrej repositories (https://deb.sury.org/) as far as I can tell.
Those packages install PHP selecting the php.ini-production config from php-src, which sets for example error_reporting to E_ALL & ~E_DEPRECATED & ~E_STRICT instead of E_ALL.
But as a Continuous Integration services, it would be preferable to have the php.ini-development one.
I in fact noticed this because a test of mine was failing locally but not on GA, which rang a huge bell into my mind.
Here's the full diff for PHP 8.0 between the two. You can see that all the differences are worthy for a CI environment:
--- php.ini-production 2021-04-30 09:12:53.773278488 +0200
+++ php.ini-development 2021-04-30 09:12:57.181308089 +0200
@@ -83,7 +83,7 @@
; development version only in development environments, as errors shown to
; application users can inadvertently leak otherwise secure information.
-; This is the php.ini-production INI file.
+; This is the php.ini-development INI file.
;;;;;;;;;;;;;;;;;;;
; Quick Reference ;
@@ -376,7 +376,7 @@
; Default Value: Off
; Development Value: Off
; Production Value: On
-zend.exception_ignore_args = On
+zend.exception_ignore_args = Off
; Allows setting the maximum string length in an argument of a stringified stack trace
; to a value between 0 and 1000000.
@@ -384,9 +384,7 @@
; Default Value: 15
; Development Value: 15
; Production Value: 0
-; In production, it is recommended to set this to 0 to reduce the output
-; of sensitive information in stack traces.
-zend.exception_string_param_max_len = 0
+zend.exception_string_param_max_len = 15
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
@@ -483,7 +481,7 @@
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
-error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+error_reporting = E_ALL
; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
@@ -500,7 +498,7 @@
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
-display_errors = Off
+display_errors = On
; The display of errors which occur during PHP's startup sequence are handled
; separately from display_errors. We strongly recommend you set this to 'off'
@@ -509,7 +507,7 @@
; Development Value: On
; Production Value: Off
; http://php.net/display-startup-errors
-display_startup_errors = Off
+display_startup_errors = On
; Besides displaying errors, PHP can also log errors to locations such as a
; server-specific log, STDERR, or a location specified by the error_log
@@ -1199,7 +1197,7 @@
; Enable / Disable collection of memory usage statistics by mysqlnd which can be
; used to tune and monitor MySQL operations.
-mysqlnd.collect_memory_statistics = Off
+mysqlnd.collect_memory_statistics = On
; Records communication from all extensions using mysqlnd to the specified log
; file.
@@ -1572,7 +1570,7 @@
; Development Value: 1
; Production Value: -1
; http://php.net/zend.assertions
-zend.assertions = -1
+zend.assertions = 1
; Assert(expr); active by default.
; http://php.net/assert.active
@@ -1882,7 +1880,7 @@
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; This should improve performance, but requires appropriate OS configuration.
-;opcache.huge_code_pages=1
+;opcache.huge_code_pages=0
; Validate cached file permissions.
;opcache.validate_permission=0
Hi, currently this GA installs PHP with its default
php.ini, which is for Linux the one taken from Ondrej repositories (https://deb.sury.org/) as far as I can tell.Those packages install PHP selecting the
php.ini-productionconfig fromphp-src, which sets for exampleerror_reportingtoE_ALL & ~E_DEPRECATED & ~E_STRICTinstead ofE_ALL.But as a Continuous Integration services, it would be preferable to have the
php.ini-developmentone.I in fact noticed this because a test of mine was failing locally but not on GA, which rang a huge bell into my mind.
Here's the full diff for PHP 8.0 between the two. You can see that all the differences are worthy for a CI environment: