[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