mysql_connect belli bir ev sahibi çalışmıyor

4 Cevap php

Ben ne olursa olsun ben seçmek ne veritabanı mysql_connect () kullanın bu kapılıyorum:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'IP' (111) in filename.php on line 17 A MySQL error has occurred: Can't connect to MySQL server on 'IP' (111)

Tam olarak aynı dosya benim kişisel web cezası çalışır. Ben farklı sunucularda barındırılan birden fazla veritabanı denedim ve her zaman çıkış verir.

Veritabanı kendisi aynı sunucu üzerinde barındırılan, ancak mysql_connect tam IP () kullanıyor. Localhost: dediği gibi liman ya da çalışmıyor:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in filename.php on line 17 A MySQL error has occurred: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Diğer sunucularda barındırılan aynı dosya üzerinden çağırarak çalıştı Ama IP kullanarak çalışmalıdır.

This is the code:

    $connect = mysql_connect($db_url,$db_user,$db_pass); // connects
    if ($connect == false) exit("A MySQL error has occurred: " . mysql_error());

Dosya diğer sunuculara çalışır çünkü şimdi ben onu üzerinde sunucu ile ilgili bir şey olduğunu ve bir şey değişti gerekebilir tahmin ediyorum. Ben şahsen sunucu (paylaşılan konağın sadece benim parçası) kök erişimi yok. Ben php.ini dosyasını ya da ben root erişimi olan birisi için geçmelidir şey düzenlerken, ben php yapabileceğim bir şey var mı?

Düzenleme: Tamam o sunucu öylesine thats IP işe yaramadı neden dışarıda veritabanlarına erişimi yok çıkıyor. Tüm cevaplar için teşekkürler ama biz hosting sağlayıcısı değiştirmek için basitçe karar verdik. Biz dışarıda bir veritabanına erişmek mümkün olması gerekir.

4 Cevap

Bu barındırma hizmeti nedir? Onların belgelerini kontrol edin, bulmak için size söyler bir şey olacak mysql. Bu ille localhost.

Örneğin, üzerine startlogic.com, siz kullanın: yourdomain .startlogicmysql.com

Eğer aynı ana, kullanıcı adı ve şifreyi kullanarak Mysqladmin kullanarak bağlayabilir miyim?

mysqladmin -h $db_url -u $db_user -p $db_pass

Replace $db_xxxx with real values. If that works from the same host as your php script, then sudo to the apache User and try the same test. One of those must be failing.

EDIT: Nevermind sudo parçası üzerinde, ben root erişimi yok olduğunu fark ettim.

Denemek için başka bir şey: Kullanım '127 .0.0.1 localhost 'yerine'. Ben mysql aptalca sessizce değiştirmek olabilir varsayılır önce nerede sorunları vardı 'localhost:' için '/ var / run / mysqld / mysqld.sock'.

Sizin ifade Seni IP adresi ve port numarasını biliyorum sırf size herhangi bir eski web sunucusundan aynı mysql sunucuya bağlanabilirsiniz düşünme değil umut, çok net değil. Web barındırma tüm yetkili ise, o kendi web sunucuları üzerinden erişilebilir, bu yüzden onlar muhtemelen mysql güvenlik duvarı var.