操作系统:Debian8.6 amd64,PHP7.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更新
当第一栋建筑时,我忘了设置--with-config-file-path和--with-config-file-scan-dir,所以我使用了export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/,它正在工作。
因此,我删除它并重新构建,但我使用的是export PHP_INI_SCAN_DIR=而不是unset。因此,在第二栋楼中,PHP_INI_SCAN_DIR env变量仍然工作,并且是空的。
正确的方式
unset PHP_INI_SCAN_DIR发布于 2016-11-16 06:04:48
如果要使用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注意,第一次执行显示了您所看到的相同的症状。
https://stackoverflow.com/questions/40585517
复制相似问题