[packages/php] document php.ini loading logic

glen glen at pld-linux.org
Tue Aug 13 08:39:53 CEST 2019


commit 517bdcc8a0756b92e887acb73cd3790d8c6db443
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Tue Aug 13 09:39:10 2019 +0300

    document php.ini loading logic

 php-sapi-ini-file.patch | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
---
diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch
index 6c9dcf4..598be44 100644
--- a/php-sapi-ini-file.patch
+++ b/php-sapi-ini-file.patch
@@ -1,3 +1,25 @@
+The ini loading order is in PLD (as of 7.4.0beta2):
+- openat(AT_FDCWD, "/etc/php74/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
+- openat(AT_FDCWD, "/etc/php74/php.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/00_curl.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/00_json.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/00_opcache.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/00_xml.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/opcache.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/conf.d/timezone.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/cli.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4
+- openat(AT_FDCWD, "/etc/php74/cli.d/00_readline.ini", O_RDONLY) = 4
+- openat(AT_FDCWD, "/etc/php74/cli.d/php.ini", O_RDONLY) = 4
+
+1. load php-<sapi>.ini; if exists treat as main php.ini
+2. load php.ini if php-<sapi>.ini was not found
+3. load conf.d/DD_*.ini to load extra extension and zend_extension lines
+4. load conf.d/*.ini to load extra ini settings not involving loading extension
+5. load <sapi>.d same way as conf.d
+
+This allows minimal patch, but still allowing to have main php ini and sapi specific overrides
+
 To test which is main php.ini:
 $ php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/php.git/commitdiff/517bdcc8a0756b92e887acb73cd3790d8c6db443



More information about the pld-cvs-commit mailing list