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

时间:2012-06-01 04:59:24

标签: command-line-interface 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)

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

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

5 个答案:

答案 0 :(得分:18)

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 \ x.y.z],[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x.y]和[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目录(C:\ windows或C:\ winnt)(对于Windows)或--with-config-file-path编译时选项。
  •   

对于CLI,最好的办法是为要执行脚本的帐户设置$PHPRC环境变量,或者使用不同的--with-config-file-path配置设置重新编译PHP。

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

> php --help
Usage: php [options] [-f]  [--] [args...]
...
  -c | Look for php.ini file in this directory

答案 1 :(得分:10)

通过指定环境变量PHPRC指向与Apache在Ubuntu上为我工作的php.ini相同的php.ini

export PHPRC=/etc/php5/apache2/php.ini

或者每次启动cli时都将它放在$ HOME / .bashrc中导入

答案 2 :(得分:1)

我花了大约3个小时尝试完全按照你的问题提出要求。无法做到。我放弃并将php.ini复制到C:\ Windows并更改了我的ENV变量" PHPRC"到C:\ Windows(和httpd.conf)。这样我的CLI php和Apach php e都使用相同的文件。我无法得到" php -m"显示我在php.ini中加载的模块,直到我做了这个改变...

答案 3 :(得分:0)

尝试在两侧运行phpinfo()功能

Web服务器和CLI,找出双方{/ 1}}文件的确切位置

并仅维护这些文件

答案 4 :(得分:0)

我尝试使用C:\ YourPathto \ PHP7 \作为我的PHPRC环境变量而失败。 但是必须将其设置为带有文件名的完整路径。我还发现我必须对php进行完全重新启动才能选择新变量。

  1. 在Windows上,找到php.ini文件的路径,然后在命令/终端窗口中修改并运行以下命令:

    setx PHPRC "C:\YourPathto\PHP7\php.ini"

    您应该看到SUCCESS: Specified value was saved.

  2. 然后(确实)重新启动计算机。

或通过常规方式编辑环境变量,然后重新启动:

PHPRC Environmental Variable Set to C:\YourPathto\PHP7\php.ini