Bir web sunucusu MySQL çalışan değil dış MySQL DB bağlanması

4 Cevap php

Ben yıllardır MySQL ile çalışıyoruz iken, bu ben bu çok acemi-ulu sorunu üzerinden çalıştırmak ilk kez. Nedeniyle bir müşteri talep, ben MySQL (yerine, onlar MSSQL çalışan) çalıştıran bir IIS sunucusu kendi web sitesi dosyalarını (PHP) barındırması gerekir. Ancak, harici ana (Rackspace Cloud) üzerinde bulunan bir MySQL veritabanı kullanarak site geliştirdik. MySQL localhost üzerinde çalışan değil çünkü Açıkçası, benim mysql_connect fonksiyonu artık bombalıyor.

Soru: localhost MySQL çalışan değilse bile mümkün harici bir MySQL veritabanı vurmak mı?

Çaylak soru için özür dilemek ve önceden çok teşekkürler.

* To clarify, I know how to connect to a remote MySQL server, but it is the fact that my IIS web server is not running ANY form of MySQL (neither server nor client) that is giving me trouble. Put another way, phpinfo() does not return anything about MySQL. *

4 Cevap

Evet, Apache + PHP gibi aynı makinede olmayan bir MySQL veritabanı kullanabilirsiniz.

Temel olarak, bir ağ bağlantısı üzerinden MySQL PHP bağlamak olacak - TCP-tabanlı, sanırım; bu şu anlama gelir:

  • MySQL must be configured to listen to, and accept connections on the network interface
    • Bunu yapmak için MySQL yapılandırma anlamına gelir
    • Ve MySQL kullanıcı için gerekli ayrıcalıkları verilmiş, bu yüzden uzak bir sunucudan bağlanabilirsiniz
  • Ve PHP MySQL barındıran sunucuya bağlanmak gerekir.

Olan bir sunucu üzerinde MySQL habing far away performansları için büyük olmayabilir, olsa da, Not: her SQL sorgu ağ üzerinden geçmek zorunda kalır, ve bu biraz zaman alabilir ...

Phpinfo MySQL hakkında hiçbir şey dönen değilse PHP için MySQL eklenti yüklemeniz gerekir, bunu yapmak için en kolay yolu, muhtemelen sadece son sürüme PHP yükseltmektir. Değilse ihtiyacınız olacak bir. DLL dosyası var.

http://www.php.net/manual/en/mysql.installation.php

Eğer mysql uzantıları yüklemeniz gerekir. Bu linki yardımcı olmalıdır: http://php.net/manual/en/install.windows.extensions.php

MySQL sunucu PHP kendisi ile hiçbir ilgisi yoktur. PHP nedir "mysql destek" anlamına MySQL istemci arabirimini uygulayan o derlenmiş (ya da yüklü bir modül var) oldu olmasıdır. Pencerelerde, 'mysql.dll' olurdu, ve Unix-ish sistemlerde o mysql.so 'olurdu. Bu yüklendikten sonra, daha sonra çeşitli MySQL intefaces (mysql_xxx (), mysqli_xxx (), PDO, MDB2, vs ..) sürece doğru bağlantı dizesi gibi, herhangi bir yerde herhangi bir MySQL sunucusuna erişmek mümkün olacak.