Yani sorun, ben birisi bana cevap sorusunu düzenledikten sonra oldu gibi cevaplar kötü değerlendirmeleri önlemek için aşağıdaki özgün soru bırakacağım, ne olduğunu değiştirildi:
So I am working on a (really lame) shared hosting which has PDO installed, but it doesn't work. With default parameters
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=THE_DB_NAME', 'THE_USER', 'THE_PASSWORD');
echo 'Connected to database';
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Bu mesaj atar:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Basit bir mysql_connect ile çalışır.
Ve soket yolu Phpinfo ve bu sorgu, hem de (doğru görünüyor:
show variables like 'socket';
onaylayın.
Localhost 10.103.0.14 yönlendirir (bu veri (mysql_get_host_info gelir) ve phpMyAdmin)
PDO, i 127.0.0.1 tarafından localhost yerine eğer ben alacak
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
Ve eğer ben 10.103.0.14 tarafından localhost değiştirin:
Access denied for user 'USER_NAME'@'10.103.0.14' (using password: YES
Hem IP adresi (127.0.0.1 ve 10.103.0.14) mysql_connect ile çalışır.
Yani görünüşe göre sorun PDO bağlantısı geliyor.
Biri bu gelebilir bilir nerede, ya da / ve bunu düzeltmek için herhangi bir yolu var mı?
Bazı sunucu veriler:
The PHP Version : 5.2.10 You can see the server's phpinfo : http://web.lerelaisinternet.com/abcd.php?v=5 No command line possible. (i know it should be the tech suport's job, but they're reaaaaaly slow)
Teşekkürler
Önceki soru:
How to find the mysql.sock on a shared host (tricky way needed...)
So today's problem is : The PDO connection doesn't work on a shared host, and it's supposed to (it's installed on the server). Just a basic PDO connection :
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=THE_DB_NAME', 'THE_USER', 'THE_PASSWORD');
echo 'Connected to database';
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Bu mesaj atar:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Normal bir mysql bağlantısı:
mysql_connect("localhost", "THE_USER", "THE_PWD") or die(mysql_error());
mysql_select_db("24DLJLRR1") or die(mysql_error());;
echo 'Connected to database <br/>';
gayet iyi çalışıyor.
So apparently it cannot find the .sock. I think specifying the correct address should work, i tried some "classic" mysql path that I found on internet, without success. The phpinfo says it is at this adress (/var/lib/mysql/mysql.sock) (The PHP Version is 5.2.10) You can see the server's phpinfo : http://web.lerelaisinternet.com/abcd.php?v=5
So i am trying to figure out where the hell it is !!! I tried to look in the phpMyAdmin interface, but i couldn't find the info, plus it seems that phpMyAdmin connects to a different server (it has a different IP adress, and trying to connect to it with php gives a "Wrong password" error). The mysql_connect also connects to this adress, i think it redirects to a different server with some internal password/login.
Well if you have any idea of how to obtain this info (the provider's technical support is "fixing the problem"... it's been 1 month...). Also maybe the problem comes from somewhere else, but the same stuff works on other shared hosts...
Ben bu web sitesi için Doktrini ile Symfony çerçevesini kullanmak ve Doktrin eklenti PDO gerektiğinden PDO'nun ihtiyacıdır ... Ben sıfırdan web yinelemek istemiyorum!
Teşekkürler for your help !