如何在Windows下为PHP命令行设置默认的PHP .ini路径?


How can I set a default php.ini path for PHP CLI on Windows?

问题简介:

我需要加载pdo_mysql来运行命令php app/console doctrine:database:create和Symfony 2的其他命令。

我找到了一种方法通过运行php -c "path/to/my/php.ini" app/console doctrine:database:create

来做到这一点

问题:

因为我不想添加路径到我的PHP .ini每次我在PHP CLI中运行命令,我在哪里/如何设置Windows,以便每次我在控制台上输入 php somecommand 它将加载我想要的PHP .ini文件?

创建一个.CMD文件,使用所需选项自动运行PHP:

path/to/php.exe -c "path/to/php.ini" %1 %2 %3 % %5 %6 %7 %8 %9

并将其命名为phpcli.cmd。确保它在你的搜索路径上,然后离开。您唯一需要做的更改是运行phpcli而不是php.

有几种方法可以做到这一点,但是如果您不想混淆别名或制作文件php.ini的多个副本,您还可以设置PHPRC环境变量。我认为这是推荐的方法来设置它更"永久"。

PHP文档中的更多信息:配置文件

在Windows中,一个简单的方法是进入"系统属性"。对话框;右键单击"我的电脑";点击"属性",或者使用"系统"项,然后转到"高级"。设置后,单击"环境变量",再单击"添加";对于系统或用户,将其称为"phprc";然后复制路径到你的.ini文件…例如,我的是在C:'MAMP'conf'php5.6.28

(这是在Windows 7上,他们在不同的版本中改变了一些UI,但基本上是一样的。)

您可以通过从命令行执行php --ini来验证它是否正常工作。输出应该像这样:

Configuration File (php.ini) Path: C:'Windows
Loaded Configuration File:         C:'MAMP'conf'php5.6.28'php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

您也可以从Windows命令提示符执行echo %PHPRC%,或从Cygwin/Bash/MinGW等执行echo $PHPRC。您必须重新启动任何现有的终端会话才能使其生效,但根据我的经验,它适用于所有三个,因为bash环境也继承了Windows环境变量。

如果将path/to/your/php.ini添加到path环境变量中,然后只运行php -c "php.ini" app/console doctrine:database:create会怎么样

你能试试吗?