问题简介:
我需要加载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
会怎么样
你能试试吗?