MySQLの接続の試みは、5.3.0に5.2.9で正常に動作しますが、ない - ヘルプ?

StackOverflow https://stackoverflow.com/questions/2816915

質問

私は私のコードで(別の、外部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()フラグのブール値を使用していますし、それはまだ動作していない。

(私が何か仕事をして別の第2のデータベースに非常に似て他の場所に行ってきながら)

私は、この接続は仕事をしない理由を把握しようと、今朝私の脳を障るしてきました。任意の助けいただければ幸います。

ありがとうございます。

リッチ

役に立ちましたか?

解決

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ファイルを通過し、不足しているオプションを指定して、それが動作するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top