一尘不染

如何在PHP CLI版本中将路径更改为php.ini

php

在网络服务器上运行的php和CLI版本未使用相同的php.ini文件。如果我执行命令php --ini,则显示此

Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         C:\wamp\bin\php\php5.3.8\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

而我的网络版本在中使用php.ini
C:\wamp\bin\apache\Apache2.2.21\bin\php.ini。对于使用沼泽的人来说,这可能很常见。

如何更改读取的加载配置文件,C:\wamp\bin\apache\Apache2.2.21\bin\php.ini这样我就不必维护2个不同的php.ini版本?


阅读 648

收藏
2020-05-29

共1个答案

一尘不染

每个http://php.net/configuration.file

在以下位置搜索php.ini(按顺序):

  • SAPI模块的特定位置(Apache 2中的PHPIniDir指令,CGI和CLI中的-
    c命令行选项,NSAPI中的php_ini参数,THTTPD中的PHP_INI_PATH环境变量)
  • PHPRC环境变量。在PHP 5.2.0之前,在下面提到的注册表项之后对此进行了检查。
  • 从PHP 5.2.0开始,可以为不同版本的PHP设置php.ini文件的位置。按顺序检查以下注册表项:
    • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz],[HKEY_LOCAL_MACHINE \
      SOFTWARE \ PHP \ xy]和[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \
      x],其中x,y和z表示PHP主要,次要和发行版本。如果这些键中的任何一个都有IniFilePath的值,则找到的第一个键将用作php.ini的位置(仅Windows)。
    • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP],IniFilePath的值(仅Windows)。
  • 当前工作目录(CLI除外)。
  • Web服务器的目录(用于SAPI模块),或PHP的目录(在Windows中,否则)。
  • Windows目录(对于Windows,是C:\ windows或C:\ winnt),或–with-config-file-
    path编译时间选项。

对于CLI,最好的选择可能是为$PHPRC将要执行脚本的帐户设置环境变量,或者使用其他--with-config-file- path配置设置重新编译PHP 。

您还可以通过-c在调用PHP时指定选项来逐执行覆盖php.ini搜索目录:

> PHP-帮助
用法:php [选项] [-f] [-] [args ...]
...
  -c | 在此目录中查找php.ini文件
2020-05-29