2016-02-05 77 views
0

一個腳本命令行使用名爲:PHP CLI自定義的INI不加載

/fullpath/php -q -c /fullpath/php.ini /fullpath/script.php 

我希望它使用普通的php.ini,而不是一個命令行,但-c標誌不工作。

這是什麼原因造成的?

回答

1

您可以檢查--ini交換機實際加載了哪些配置文件。

這裏就是我的正常配置是這樣的:

[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 
Additional .ini files parsed:  /etc/php.d/apcu.ini, 
/etc/php.d/auto.ini, 
/etc/php.d/autostrict.ini, 
/etc/php.d/ds.ini, 
/etc/php.d/inspector.ini, 
/etc/php.d/memcached.ini, 
/etc/php.d/mongodb.ini, 
/etc/php.d/mysql.ini, 
/etc/php.d/opcache.ini, 
/etc/php.d/pdo.ini, 
/etc/php.d/uopz.ini, 
/etc/php.d/xdebug.ini, 
/etc/php.d/yaml.ini 

需要注意的是,它加載php-cli.ini,因爲它的存在,我們在cli

如果我們這樣做:

[email protected]:/usr/src/php-src$ php -c php.ini-development --ini 

我們得到:

Configuration File (php.ini) Path: /etc 
Loaded Configuration File:   /usr/src/php-src/php.ini-development 
Scan for additional .ini files in: /etc/php.d 
Additional .ini files parsed:  /etc/php.d/apcu.ini, 
/etc/php.d/auto.ini, 
/etc/php.d/autostrict.ini, 
/etc/php.d/ds.ini, 
/etc/php.d/inspector.ini, 
/etc/php.d/memcached.ini, 
/etc/php.d/mongodb.ini, 
/etc/php.d/mysql.ini, 
/etc/php.d/opcache.ini, 
/etc/php.d/pdo.ini, 
/etc/php.d/uopz.ini, 
/etc/php.d/xdebug.ini, 
/etc/php.d/yaml.ini 

這段時間內沒有裝載php-cli.ini,規定之一是,但這樣是在掃描目錄中的所有文件了。

最後,如果我們做到這一點:

[email protected]:/usr/src/php-src$ php -c php.ini-development -n --ini 

我們得到:

Configuration File (php.ini) Path: /etc 
Loaded Configuration File:   /usr/src/php-src/php.ini-development 
Scan for additional .ini files in: (none) 
Additional .ini files parsed:  (none) 

因此,添加額外的開關-n,使用掃描目錄配置PHP停止。