MySQLの接続の試みは、5.3.0に5.2.9で正常に動作しますが、ない - ヘルプ?
-
26-09-2019 - |
質問
私は私のコードで(別の、外部DBへの)二次MySQLの接続を行うトラブルを抱えています。これは、PHP 5.2.9で正常に動作しますが、PHP 5.3.0での接続に失敗しました。それは、この時間を働いていない理由を私は。
わからないので、私は、PHPの新しいバージョンで成功したMySQLの接続を行うために必要な変更の(少なくとも一部)の意識だし、前に成功しています私はすでにローカル・データベースへのオープンDB接続を持っています。以下、この関数は、その後独立し、リモートディレクトリへの追加の接続を行うために使用されます。付属の設定ファイルは、単純に、外部データベースの詳細(ホスト、ユーザー、パスと名前)が含まれています。私がチェックして、それが正しく含まれている。
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");
}
I、単に外部からこの関数を呼び出すことによって、この新しい接続を作成しようとします:
connectDP();
しかし、(5.3.0で)ページをロードするとき、私はメッセージを取得します:
ERROR: Unable to connect to Deployment Platform
私はnew_link
関数の第四引数としてオプションのmysql_connect()
フラグのブール値を使用していますし、それはまだ動作していない。
私は、この接続は仕事をしない理由を把握しようと、今朝私の脳を障るしてきました。任意の助けいただければ幸います。
ありがとうございます。
リッチ
解決
PHP 5.3ので代わりlibmysqlclientのの、デフォルトで独自のMySQLドライバ(mysqlnd)を使用します。プラットフォームに依存して、あなたのMySQLの設定ファイル(例えば。/etc/mysql/my.cnf
)からデフォルト値を読み取ることができません。あなたは編集php.ini
する必要があり、使用拡張子(S)(mysqlの、mysqliの、PDO)のデフォルト値を指定します。 Debianにたとえば、あなたは、INIファイルでソケットに自分自身を(例えば。/var/run/mysqld/mysqld.sock
)のパスを指定する必要があります。ただ、INIファイルを通過し、不足しているオプションを指定して、それが動作するはずです。