出于某种原因,为什么我尝试使用doctrine连接到我的本地mysql数据库。我收到以下错误:
Could not create database for connection named `new_db` could not find driver
我的PHPinfo文件告诉我pdo_mysql正在运行,版本是5.5.38,应该位于:/Applications/MAMP/tmp/mysql/mysql.sock(但我在该目录中找不到mysql.sock)
根据php信息文件的php.ini文件位于:
Configuration File (php.ini) Path /Applications/MAMP/bin/php/php5.6.1/conf
Loaded Configuration File /Library/Application Support/appsolute/MAMP PRO/conf/php.ini
我的命令行(已配置为指向与mamp相同的PHP版本(理论上)声明它正在使用以下php.ini
Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php5.6.1/conf
Loaded Configuration File: /Applications/MAMP/bin/php/php5.6.1/conf/php.ini
我不确定为什么phpinfo有一个不同的'加载配置文件'条目,我想知道这是否是问题,但是我不确定如何改变它。有趣的是,虽然两个文件都声明应该加载pdo_mysql。
令人讨厌的是,尽管有所有php.ini文件,但我可以找到当我输入php -m | grep -G PDO -i
时加载pdo_mysql我只看到:
PDO
pdo_sqlite
我不知道为什么pdo_mysql没有加载,因为它看起来应该是真的。
我在Mac OSx Yosemite上运行MAMP Pro。
编辑:根据要求,这是由symfony自动生成的连接字符串:
{ parameters: { database_driver: pdo_mysql, database_host: 127.0.0.1, database_port: 3306, database_name: new_db, database_user: dbuser, database_password: dbpass, mailer_transport: smtp, mailer_host: 127.0.0.1, mailer_user: null, mailer_password: null, locale: en, secret: thisisnotmysecret, debug_toolbar: true, debug_redirects: false, use_assetic_controller: true, database_path: null } }
更新:在没有框架的情况下尝试连接后,我收到以下错误:
[2014年10月20日17:15:44欧洲/伦敦] PHP警告:PHP启动:无法使用 加载动态库 '/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/pdo_mysql.so' - dlopen(/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/pdo_mysql.so, 9):在第0行的未知中找不到图像
这很烦人,因为它应该指向的文件夹是“no-debug-non-zts-20131226”而不是“no-debug-non-zts-20121212”有谁知道如何更新这条路径?
答案 0 :(得分:0)
原来,Mamp pro的默认php.ini文件错了。它认为扩展目录应该是:
extension_dir =" /Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212 /"
实际应该是什么时候:
extension_dir =" /Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20131226 /"
我更新了文件,现在它就像魅力一样:)