Способ подключения к MySQL зависит от параметров, передаваемых в mysql_connect () . Если вы передадите ему путь к файлу, т.е. /var/run/mysqld/mysqld.sock
, он попытается подключиться через сокет. Если вы передадите ему имя хоста, он попытается установить TCP-соединение.
Вам необходимо найти имя хоста (или IP-адрес) сервера MySQL и подключиться к нему следующим образом:
mysql_connect('127.0.0.1:3306',$username,$password);
Коэффициенты для ZF, вы можете просто указать это в файле конфигурации, где вы храните настройки базы данных, или когда вы подключаетесь к базе данных, используя параметр host
:
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
Редактировать : Если вы передаете правильное имя хоста / порт в качестве параметра хоста в mysql_connect()
и получаете это сообщение, то это, скорее всего, проблема конфигурации сервера.
Попробуйте изменить настройку mysql.default_socket
в php.ini или в верхней части кода приложения, используя ini_set ()
ini_set('mysql.default_socket','/path/to/real/socket.sock');
Вы должны выяснить, где находится файл сокета. Часто это /var/lib/mysql/mysql.sock, но я думаю, что это зависит от системы.