如何在 CLI 中编辑 php.ini

问题描述 投票:0回答:2

我正在使用 MAMP 开发一个 symfony 项目。

我正在尝试使用此脚本从终端将数据加载到 sql 中:

php symfony doctrine:insert-sql

我收到这个错误:

找不到名为 mysql 的驱动程序

论坛已经解释了你应该启用

pdo_sql

这在

MAMP/conf/php5.2/php.ini
MAMP/conf/php5.3/php.ini

中启用

经研究的文档指出,CLI 中的

php.ini
文件与位于 apache 中的
php.ini
文件不同。

如何在 CLI 中定位和编辑

php.ini
文件,它明显不同于位于 MAMP 目录中的文件?

mysql symfony1 doctrine terminal command-line-interface
2个回答
3
投票

在命令行上运行:

php -info | grep Confi

它应该给你这样的输出

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => (none)

但您不必编辑它。您可以简单地使用 MAMP 使用的那个:

php -c /path/to/your/php.ini symfony doctrine:insert-sql

3
投票

OK,我对多个文件做了多次修改。我不确定它从哪里开始工作,但现在可以开始了。我将完成我的编辑,希望它能帮助其他人解决这个问题。

首先,我在终端中使用此脚本使文件在 Finder 中可见:

defaults write com.apple.finder AppleShowAllFiles TRUE

killall Finder

其次,我使用终端(感谢 Cassy)使用他提供的脚本找到了我的 CLI php.ini 文件所在的位置:

php -info | grep Confi

这输出类似于:

Configuration File (php.ini) Path => /etc
Loaded Configuration File => /private/etc/php.ini

此位置 正确激活 symfony 使用 MAMP 所需的 pdo_mysql.so 文件。

所以,在锤击家蝇时尚的过程中,我介绍了这些步骤:

  1. 打开 /Applications/MAMP/conf/php5.3/ 中的 php.ini 并复制以下行:

    extension=pdo_mysql.so

  2. 打开 /private/etc/ 中的 php.ini(此处必须将隐藏文件设置为可见),并将上述代码(扩展名=pdo_mysql.so)粘贴到该文件中。我把它粘贴在注释掉的扩展名下,但我认为这不重要。

  3. 在 Users 目录中打开 .bash_profile(这通常是您的计算机名称,即 Carey、Steve、Holly)

  4. 插入以下代码:

    导出路径=:/Applications/MAMP/bin/php5.3/bin

  5. 最后,打开httpd.conf并粘贴以下代码:

    php_value include_path "/Applications/MAMP/conf/php5.3/php.ini" PHPIniDir "/Applications/MAMP/conf/php5.3/php.ini"

重启 Apache 后,我在终端中查看了我的 php 信息:

php -i

它是这样说的:

Configuration File (php.ini) Path => /Applications/MAMP/conf/php5.3
Loaded Configuration File => /Applications/MAMP/conf/php5.3/php.ini

现在在终端中,输入 php -m,它会给你一个 php 模块列表。在列表中查找 pdo_mysql。

如果它在那里,使用 symfony 来构建和填充你的数据库应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.