我正在使用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目录中的文件?
答案 0 :(得分: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
答案 1 :(得分:3)
好的,我对多个文件进行了多次更改。我不知道它开始工作的地方,但现在好了。我将完成我的编辑工作,希望能帮助其他人解决这个问题。
首先,我使用终端中的这个脚本在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
此位置不正确,无法使用MAMP激活symfony所需的pdo_mysql.so文件。
所以,以锤子到家蝇的方式,我介绍了这些步骤:
在/Applications/MAMP/conf/php5.3/中打开php.ini并复制以下行:
延长= pdo_mysql.so
在/ private / etc /中打开php.ini(这是你必须将隐藏文件设置为可见的地方),并将上面的代码(extension = pdo_mysql.so)粘贴到文件中。我将其粘贴在注释掉的扩展名下,但我认为这不重要。
在用户目录中打开.bash_profile(这通常是您的计算机名称,即Carey,Steve,Holly)
插入以下代码:
export PATH =:/ Applications / MAMP / bin / php5.3 / bin
最后,打开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构建和填充数据库应该可行。