php – 使用symfony和MAMP时的PDO连接错误

前端之家收集整理的这篇文章主要介绍了php – 使用symfony和MAMP时的PDO连接错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试做PDO时发生错误
PHP symfony doctrine:insert-sql

我得到的错误

Warning: PDO::__construct(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306) in /Users/johannes/Programmering/PHP/htdocs/symfony/sfprojects/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.PHP on line 470

databases.yml里

    all:
    doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: MysqL:host=127.0.0.1;dbname=jobeet;
      username: root
      password: root

使用“root”作为密码进行MysqL -u root -p jobeet可以访问,所以没有问题.是的,我运行的MysqL是MAMP的.

感谢任何帮助.

默认情况下,MAMP不允许TCP连接.您可以打开它或使用套接字.

将dsn更改为@Tom建议您解决问题.奇怪的是,但使用localhost而不是127.0.0.1使MysqL通过套接字连接.

http://dev.mysql.com/doc/refman/5.0/en/connecting.html

On Unix,MysqL programs treat the host name localhost specially,in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost,MysqL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a –port or -P option is given to specify a port number. To ensure that the client makes a TCP/IP connection to the local server,use –host or -h to specify a host name value of 127.0.0.1,or the IP address or name of the local server. You can also specify the connection protocol explicitly,even for localhost,by using the –protocol=TCP option.

猜你在找的PHP相关文章