]> git.pld-linux.org Git - packages/php.git/blame - php-sapi-ini-file.patch
Update both-apxs.patch
[packages/php.git] / php-sapi-ini-file.patch
CommitLineData
517bdcc8
ER
1The ini loading order is in PLD (as of 7.4.0beta2):
2- openat(AT_FDCWD, "/etc/php74/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
3- openat(AT_FDCWD, "/etc/php74/php.ini", O_RDONLY) = 4
4- openat(AT_FDCWD, "/etc/php74/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4
5- openat(AT_FDCWD, "/etc/php74/conf.d/00_curl.ini", O_RDONLY) = 4
6- openat(AT_FDCWD, "/etc/php74/conf.d/00_json.ini", O_RDONLY) = 4
7- openat(AT_FDCWD, "/etc/php74/conf.d/00_opcache.ini", O_RDONLY) = 4
8- openat(AT_FDCWD, "/etc/php74/conf.d/00_xml.ini", O_RDONLY) = 4
9- openat(AT_FDCWD, "/etc/php74/conf.d/opcache.ini", O_RDONLY) = 4
10- openat(AT_FDCWD, "/etc/php74/conf.d/timezone.ini", O_RDONLY) = 4
11- openat(AT_FDCWD, "/etc/php74/cli.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4
12- openat(AT_FDCWD, "/etc/php74/cli.d/00_readline.ini", O_RDONLY) = 4
13- openat(AT_FDCWD, "/etc/php74/cli.d/php.ini", O_RDONLY) = 4
14
151. load php-<sapi>.ini; if exists treat as main php.ini
162. load php.ini if php-<sapi>.ini was not found
173. load conf.d/DD_*.ini to load extra extension and zend_extension lines
184. load conf.d/*.ini to load extra ini settings not involving loading extension
195. load <sapi>.d same way as conf.d
20
21This allows minimal patch, but still allowing to have main php ini and sapi specific overrides
22
8f2c8fef 23To test which is main php.ini:
b002612e
ER
24$ php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
25
26https://github.com/pld-linux/php/commit/762ec2e
27
8f2c8fef
ER
28diff --git a/main/php_ini.c b/main/php_ini.c
29index d508c13b50..2cf28eb7f5 100644
30--- a/main/php_ini.c
31+++ b/main/php_ini.c
32@@ -410,6 +410,11 @@ static void php_load_zend_extension_cb(void *arg) { }
33 #endif
c0240cb1 34 /* }}} */
35
36+static int php_csort(const struct dirent **a, const struct dirent **b)
37+{
38+ return strcmp((*a)->d_name,(*b)->d_name);
39+}
40+
41 /* {{{ php_init_config
42 */
f4ee12ea 43 int php_init_config(void)
8f2c8fef 44@@ -661,12 +666,14 @@ int php_init_config(void)
c0240cb1 45 zend_llist scanned_ini_list;
46 zend_llist_element *element;
47 int l, total_l = 0;
48+ const char *fmt = "%s:" PHP_CONFIG_FILE_PATH "/%s.d";
2e0e7ed6
AM
49 char *bufpath, *debpath, *endpath;
50 int lenpath;
c0240cb1 51
c0240cb1 52 zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
b4025702 53
2e0e7ed6
AM
54- bufpath = estrdup(php_ini_scanned_path);
55+ bufpath = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
56+ sprintf(bufpath, fmt, php_ini_scanned_path, sapi_module.name);
57 for (debpath = bufpath ; debpath ; debpath=endpath) {
58 endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
59 if (endpath) {
8f2c8fef 60@@ -679,7 +686,7 @@ int php_init_config(void)
2e0e7ed6 61 }
b002612e 62 lenpath = (int)strlen(debpath);
c0240cb1 63
2e0e7ed6
AM
64- if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_alphasort)) > 0) {
65+ if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_csort)) > 0) {
c0240cb1 66
67 for (i = 0; i < ndir; i++) {
2e0e7ed6 68
This page took 0.042894 seconds and 4 git commands to generate.