Ошибка PDO Invalid Argument и Unix socket

Такая ошибка возникла у меня после перехода на PHP 5.3. Решение я нашел на http://stackoverflow.com, можете там посмотреть, чтобы узнать про эту ошибку более подробно. Выглядит она вот так:

Warning: PDO::__construct() [pdo.–construct]: [2002] Invalid argument (trying to connect via unix://) in /home/blah-blah-blah.php on line 9   Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2002] Invalid argument’ in /home/blah-blah-blah.php:9 Stack trace: #0 /home/blah-blah-blah.php(9): PDO->__construct(‘mysql:host=localhost;dbname=db’, ‘USER’, ‘PASSWORD’) #1 {main} thrown in /home/blah-blah-blah.php on line 9

Решается она так: вместо localhost, при написании DSN для PDO пишите 127.0.0.1. А так же стоит указать путь к сокету MySQL в php.ini: pdo_mysql.default_socket=/var/run/mysqld/mysql.sock

Leave a Reply

Your email address will not be published. Required fields are marked *