2016-11-14 49 views
0

操作系统:Debian 8.6 amd64,PHP 7.0.13源码(tar.gz)从php.net下载,检查了md5和sha256。php 7 --with-config-file-scan-dir不工作

尝试--with-config-file-scan-dir设置为/etc/php7/cli/conf.d/etc/php7/cli/conf.d/仍然无法正常工作。

[email protected]:/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 

[email protected]:/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环境变量,它工作。

[email protected]:/usr/src/php-7.0.13# export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/ 
[email protected]:/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=不是unset。因此,在第二个建筑物中,PHP_INI_SCAN_DIR env变量仍然有效,并且它是空的。

正确的方法

unset PHP_INI_SCAN_DIR 

回答

0

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

[email protected]:/usr/src/php-src$ export PHP_INI_SCAN_DIR= 
[email protected]:/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) 

[email protected]:/usr/src/php-src$ export PHP_INI_SCAN_DIR=/etc/php.d 
[email protected]:/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 

注意,第一次执行表现出你看到相同的症状。