1

SQLサーバーにリモートで接続するWindows環境でphp Webアプリケーションを開発しました。Linux環境(Centos)で同じアプリケーションをホストしようとすると、phpアプリケーションを介してSQLサーバーに接続されません。以下の構成を見つけてください。

ウィンドウズ:

アプリケーション: PHP (バージョン: 5.3.8)

サーバー:ワンプサーバー

データベース: SQL Server 2008 R2 にリモート接続

接続に使用されるコード: sqlsrv_connect (Sql ドライバーのインストールと接続)

使用する DLL: すべての php_sqlsrv_53_ts.dll ファイル

インストール済みの SQL Server 2012 ネイティブ クライアントも

さて、上記の(構成)で言及されたphpアプリケーションを使用して、サイトをcentosでホストするにはどうすればよいですか???

Linux (Centos):

centosで無料のTDSを試してみました。これはリモートで SQL サーバーに接続するのに役立ちますが、私たちの php アプリケーションはこれをサポートしていません。dllファイルとそれらのアクティベーションのアクティブ化が、SQLサーバーをリモートでphpアプリケーションに接続するために重要な役割を果たすことを理解しました。ただし、DLL ファイルは Linux 環境では使用できません。この問題を解決するための提案はありますか?

どんな提案/解決策も感謝します。ありがとうございました。

4

1 に答える 1

2

Microsoftのphp_sqlsrvドライバーの場合、Linuxドライバーは存在しません。ドキュメントから:

サポートされているオペレーティングシステム:Windows 2000 Service Pack 4; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Small Business Server 2003; Windows Vista Service Pack 1; Windows XP Service Pack 2

ドライバーのソースコードは入手可能ですが、まだLinuxに移植されていません。WebアプリケーションをLinuxに移植するには、次の選択肢があります。

  • mssqlドライバーを使用してみてください(可能な場合)
  • odbcドライバーを使用してみてください(可能な場合)
  • mysql、postgresなどの別のデータベースに移行します...
  • ドライバーを自分でLinuxに移植する(ハード)
  • Windowsを使用する;)

別の(本当にハッキーな)方法(本当にこれが必要な場合)は次のようになります:wineインタプリタがワインアプリケーションである場合、fcgiとしてphpを実行するとともにCentOSにインストールします。次に、php_sqlsrvWindowsdllを使用できます。私はこれをテストしていませんが、動作する可能性があります。

于 2013-01-10T12:03:14.953 に答える