MySQL bağlantı girişimi ama 5.3.0 de 5.2.9 de çalışıyor - Yardım?

1 Cevap php

Ben sorun benim kod (ayrı bir harici DB) bir ikincil MySQL bağlantısı yaparak yaşıyorum. PHP 5.2.9 çalışıyor ancak PHP 5.3.0 'da bağlanamıyor. Ben PHP daha yeni sürümü başarılı MySQL bağlantıları yapmak için gerekli değişiklikleri (en azından bazı) farkındayım, ve daha önce başarmış, bu yüzden bu sefer neden çalışmadığını emin değilim.

Zaten yerel bir veritabanına açık bir db bağlantısı var. Aşağıda bu fonksiyon, daha sonra ayrı, uzak dizine ek bir bağlantı yapmak için kullanılır. Dahil yapılandırma dosyası sadece dış veritabanı ayrıntıları (host, user, pass ve adı) içerir. Ben kontrol ettikten ve doğru dahil ediliyor.

function connectDP() {
    global $dpConnection;

    include("secondary_db_config.php);
    $dpConnection = mysql_connect($dp_dbHost, $dp_dbUser, $dp_dbPass, true) or DIE("ERROR: Unable to connect to Deployment Platform");
    mysql_select_db($dp_dbName, $dpConnection) or DIE("ERROR 006: Unable to select Deployment Platform Database");
}

Ben o zaman sadece dışarıdan bu işlevi çağırarak bu yeni bağlantı kurmaya:

connectDP();

(5.3.0 de) sayfasını yüklerken ama, ben mesajı alıyorum:

ERROR: Unable to connect to Deployment Platform

Ben mysql_connect() fonksiyonu dördüncü argüman olarak isteğe bağlı new_link bayrak boolean kullanıyorum ve hala çalışmıyor.

(Ben çalışır ayrı ikinci bir veritabanına başka bir yerde çok benzer bir şey yaptık iken) bu bağlantı çalışmıyor neden anlamaya çalışıyorum bu sabah beynimi bozucu oldum. Herhangi bir yardım mutluluk duyacağız.

Teşekkürler!

Zengin

1 Cevap

PHP 5.3 'ten beri yerine libmysqlclient arasında varsayılan kendi MySQL sürücüsü (mysqlnd) kullanır. Platforma bağlı olarak bu MySQL yapılandırma dosyası varsayılan okuyamıyor (örn. /etc/mysql/my.cnf). Sen php.ini düzenleyebilir ve (mysql, mysqli, PDO) kullanmak uzantısı (ler) için varsayılan belirtmeniz gerekir. Örneğin Debian size INI dosyasında (örn. /var/run/mysqld/mysqld.sock) kendiniz soket yolunu belirtmeniz gerekir. Sadece INI dosyasında geçmesi ve eksik seçenekleri belirtin ve çalışması gerekir.