mac下pdo链接错误

诸葛飞 2015-09-06

mac 报如下错误:

[Sun Sep 06 23:44:10.162087 2015] [:error] [pid 1004] [client 127.0.0.1:52136] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in /Users/yuan/www/phpems/lib/pepdo.cls.php:23\nStack trace:\n#0 /Users/yuan/www/phpems/lib/pepdo.cls.php(23): PDO->__construct('mysql:host=loca...', 'root', 'db10056')\n#1 /Users/yuan/www/phpems/lib/pepdo.cls.php(90): pepdo->connect()\n#2 /Users/yuan/www/phpems/lib/session.cls.php(86): pepdo->fetch(Array)\n#3 /Users/yuan/www/phpems/lib/session.cls.php(31): session->getSessionValue('443cd730d32899e...')\n#4 /Users/yuan/www/phpems/lib/session.cls.php(17): session->getSessionId()\n#5 /Users/yuan/www/phpems/lib/init.cls.php(79): session->__construct(Object(ginkgo))\n#6 /Users/yuan/www/phpems/app/content/app.php(19): ginkgo->make('session')\n#7 /Users/yuan/www/phpems/lib/init.cls.php(133): app->__construct(Object(ginkgo))\n#8 /Users/yuan/www/phpems/index.php(7): ginkgo->run()\n#9 {main}\n  thrown in /Users/yuan/www/phpems/lib/pepdo.cls.php on line 23

 

 

自己的解决方案如下:

1:拷贝一份php.ini文件

   cd  /private/etc/

   sudo  cp php.ini.default  php.ini

   sudo  vi  php.ini

 

2: 修改php.ini中的所有的default_socket都改成/tmp/mysql.sock   (我的mysql的sock在tmp中)。

 

参考如下:

 http://blog.saymoon.com/2011/03/mac-os-phpini/   

 http://devdocs.magento.com/guides/v2.0/install-gde/trouble/php/tshoot_phpini.html

 

 

ffff