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.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...