php 7 --with-config-file-scan-dir无效

时间:2016-11-14 09:32:36

标签: php linux build configuration php-7

操作系统:Debian 8.6 amd64,PHP 7.0.13源码(tar.gz)从php.net下载,检查了md5和sha256。

尝试将--with-config-file-scan-dir设置为/etc/php7/cli/conf.d/etc/php7/cli/conf.d/仍无效。

root@debian:/usr/src/php-7.0.13#./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/etc/php7/cli \
--with-config-file-scan-dir=/etc/php7/cli/conf.d/ \
--disable-all \
--enable-json=shared

root@debian:/usr/src/php-7.0.13# /usr/local/php7/bin/php --ini
Configuration File (php.ini) Path: /etc/php7/cli
Loaded Configuration File:         /etc/php7/cli/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

/usr/src/php-7.0.13/main/build-defs.h文件的最后一行中,PHP_CONFIG_FILE_SCAN_DIR常量已定义,但仍无效。

#define PHP_CONFIG_FILE_SCAN_DIR    "/etc/php7/cli/conf.d/"

如果导出PHP_INI_SCAN_DIR环境变量,它正在运行。

root@debian:/usr/src/php-7.0.13# export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/
root@debian:/usr/src/php-7.0.13# /usr/local/php7/bin/php --ini
Configuration File (php.ini) Path: /etc/php7/cli
Loaded Configuration File:         /etc/php7/cli/php.ini
Scan for additional .ini files in: /etc/php7/cli/conf.d/
Additional .ini files parsed:      /etc/php7/cli/conf.d/json.ini

更新

第1次建设时,我忘了设置--with-config-file-path--with-config-file-scan-dir,因此我使用export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/并且它正在运行。

所以我删除它并重新构建,但我使用export PHP_INI_SCAN_DIR= NOT unset。所以在第二个建筑物中,PHP_INI_SCAN_DIR env变量仍在工作,它是空的。

正确的方法

unset PHP_INI_SCAN_DIR

1 个答案:

答案 0 :(得分:0)

您需要确保PHP_INI_SCAN_DIR在环境中非空,如果要使用它:

krakjoe@fiji:/usr/src/php-src$ export PHP_INI_SCAN_DIR=
krakjoe@fiji:/usr/src/php-src$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php-cli.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

krakjoe@fiji:/usr/src/php-src$ export PHP_INI_SCAN_DIR=/etc/php.d
krakjoe@fiji:/usr/src/php-src$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php-cli.ini
Scan for additional .ini files in: /etc/php.d

请注意,第一次执行会出现您看到的相同症状。