如何configurationPHP的命令行版本以在Redhat系统上具有不同的设置?
在基于Debian的系统上,php有一个单独的命令行版本configuration文件: /etc/php5/cli 。
在Redhat上,/ /etc/php.ini和/etc/php.ini有各种额外的ini文件,但是命令行版本没有单独的configuration文件,即使安装了php-cli软件包。
你有两个select:
-c参数来指示ini文件的位置 /etc/创build一个php-cli.ini文件 
从官方的PHP手册 :
PHP启动时读取configuration文件(php.ini)。 对于PHP的服务器模块版本,这仅在Web服务器启动时发生一次。 对于CGI和CLI版本,每次调用都会发生。
在这些位置searchphp.ini(按顺序):
- SAPI模块的具体位置(Apache 2中的PHPIniDir指令, CGI和CLI中的-c命令行选项 ,NSAPI中的php_ini参数,THTTPD中的PHP_INI_PATH环境variables)
- PHPRC环境variables。 在PHP 5.2.0之前,这是在下面提到的registry项之后检查的。
- 从PHP 5.2.0开始,可以为不同版本的PHP设置php.ini文件的位置。 按顺序检查以下registry项:[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz],[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy]和[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x],其中x,y和z表示PHP主要,次要版本和发行版本。 如果在这些键中有IniFilePath的值,find的第一个将被用作php.ini的位置(仅限于Windows)。
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP],IniFilePath的值(仅限Windows)。
- 当前工作目录(CLI除外)。
- Web服务器的目录(用于SAPI模块)或PHP目录(否则在Windows中)。
- Windows目录(C:\ windows或C:\ winnt)(对于Windows)或–with-config-file-path编译时间选项。
如果存在php-SAPI.ini (其中SAPI是SAPI中正在使用的, 例如php-cli.ini或php-apache.ini), 则使用它而不是php.ini。 SAPI名称可以用php_sapi_name()来确定。