2017-06-27 6 views
0

最近MicrosoftのPHPサーバをLinuxサーバに移行しました。 "pdo-sqlsrvr"設定を使用する前にしかし、今私たちは何を追うべきか分かりません。私はいくつかの読書を行ってきましたが、リモートのMSSqlサーバーに接続するために "pdo-dblib"を使用する必要があることがわかりましたが、問題はCodeIgniterにどのような設定を使用するのかわからないことです。例のほとんどはこのように行くので:linux 14で動作するcodeigniter PHP56のデータベース設定は、リモートmssqlサーバに接続しています

$dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw"); 

そして、我々の更新CodeIgniterのデータベースの設定ファイルがこれです:

$db['default'] = array(
    'dsn' => '', 
    'hostname' => 'dblib:BIOSQL\SQL; dbname=mydb;', 
    'username' => 'username', 
    'password' => 'password', 
    'database' => 'mydb', 
    'dbdriver' => 'pdo', 
    'dbprefix' => '', 
    'pconnect' => TRUE, 
    'db_debug' => TRUE, 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'utf8', 
    'dbcollat' => 'utf8_general_ci', 
    'swap_pre' => '', 
    'encrypt' => FALSE, 
    'autoinit' => TRUE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
); 

これはエラーを返します:

SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9) 

私は本当にここブラインドいます私はpdo-dblibを使ってこれを適切に設定するために何をすべきかわかりません。

答えて

1

この接続文字列を試してみてください。またSELinuxは、時々問題になる可能性が一度これらを実行

$db = new PDO ("dblib:host=BIOSSQL\SQL;dbname=mydb","username","password"); 

setsebool -P httpd_can_network_connect 1 
setsebool -P httpd_can_network_connect_db 1 
を例えば

$db = new PDO ("dblib:host=$hostname;dbname=$dbname","$username","$pw"); 

関連する問題