mysqli kullanarak phpmyadmin bağlanır, ama benim php mysqli hataları kullanarak

1 Cevap php

Bu beni deli ediyor! Ben klasik "soket aracılığıyla yerel MySQL sunucusuna bağlanmak olamaz '/ var/run/mysql4d/mysql4d.sock' (13)" alıyorum.

Ben şimdiye kadar kazılıp ettik herşey benim kurulum (vb php.ini ve my.cnf içinde yuva tanımlayan, örneğin) Tamam olması gerektiğini söylüyor. Daha da kötüsü ... phpmyadmin ile çalışır aynı un / pw benim kendi php kullanıyorum. Yani Açıkçası bağlamak mümkün, ama ben o kadar vidalama am

Ben phpmyadmin arasındaki bağlantıyı ters mühendislik çalıştı, ancak birkaç saat sonra çok kıvrık olarak verdi.

Herkes bazı tavsiyelerde bulunabilir?

Benim yapılandırma: Ubuntu 9.10 (Karmic), Apache 2.2, PHP 5.2.6, MySQL 4.1.22 (eski app nedenlerle).

my.cnf (/ var/lib/mysql4/my.cnf):

[client]
port = 3306
socket = /var/run/mysql4d/mysql4d.sock
[mysqld]
port = 3306
socket = /var/run/mysql4d/mysql4d.sock

php.ini (/ etc/php5/apache2/php.ini):

[MySQL]
mysql.default_socket = /var/run/mysql4d/mysql4d.sock
[MySQLi]
mysql.default_socket = /var/run/mysql4d/mysql4d.sock

Btw mysql yerine mysqli kullanarak aynı sorun.

EDIT: I should mention that I have installed mysql4 alongside the ubuntu default install of php & mysql for use with a legacy application and it is this installation that I am having trouble connecting with. I tried this:

ini_set ('mysql.default_socket', '/ var/run/mysql4d/mysql4d.sock');

and now the connection goes thru, but all queries return empty sets. (cries in frustration)

1 Cevap

Bu /var/run/mysql4d/mysql4d.sock bir izin sorunu gibi geliyor. Bu hangi kullanıcı olarak yayınlanıyor? Izinleri tamam mı dosya sistemi düzeyinde?

Google hata mesajları için, bazen nedeniyle bu vardı ve her zaman bir izin sorunu oldu insanlar, bir sürü bulabilirsiniz varsa bir aktive SELinux. Birkaç olası çözümler için this thread edin.