0

自動ビルドとテストにLinux ビルド サーバー ( http://circleci.com ) を使用しています。ただし、MSSQL サーバーに接続する必要があります。Windows で問題なく開発でき、MS php SQLSVR ドライバーを使用して接続できますが、ドライバーは Windows のみであるため、Linux ビルド サーバーには接続できません。

私の質問はこれです: Windows と Linux の両方で、php 経由で MSSQL サーバーに接続する単一の方法はありますか? odbcを試しましたが、LinuxでbdlibとFreeTDSが必要です-これはコードの変更を構成するため、テストが100%ではないことを意味します。たとえば、Windows環境では使用odbc:{SQL Server}され、Linuxではodbc:FreeTDS

どのシステムが使用されているかを確認してから、対応するデータベース接続文字列を選択するのは適切ではないようです。

PHP 5.5.1 を使用しています

4

1 に答える 1

0

いいえ、単一の方法はありませんが、次のようなことを行うのは簡単です:

if ('Linux' === PHP_OS){
    $pdo = new PDO("dblib:dbname=$database_name;host=$database_server", $username, $password);
}else{
    // $pdo = whatever you're using on your Windows box now.
}

Linux サーバーにも odbc.ini、odbcinst.ini、および freetds.conf ファイルを設定する必要があります。

于 2013-08-16T13:23:32.967 に答える