私は最近、IIS、PHP 5.3.5およびMySQLをインストールし、すべて機能させました。
次に、MS SQLの要件もあり、簡単なタスクだと思っていたことが今私を狂わせており、それを機能させる方法を理解できません。
php_info()
によると、MS SQLドライバーがロードされていません。
_php_mssql.dll
_をダウンロードして_php.ini
_で有効にしましたが、機能しませんでした。 PHPの新しいバージョンが別のDLLを使用していることがわかりました。そのため、新しいDLLをダウンロードしてextフォルダーに入れ、_php.ini
_を更新しましたが、まだうまくいきません。 。
php_info()
は、ドライバーがロードされていることをまだ示していません。
IISおよびPHPをアンインストールし、以前にインストールしたことがあるApacheをインストールします。
この質問は私の最後の試みです、誰か助けてもらえますか?
これはお客様からの抜粋ですFAQ私は先日、専用のホスティングユーザーがMS SQLドライバーでPHPを起動して実行するのに役立つように書きました。上記のコメントですでに伝えられているいくつかの知識を複製するかもしれませんが、完全性は他の人がゼロから始めるのを助けるかもしれません:
注:明らかにPHPのバージョン番号は私がこれを書いてから少し変わっていますが、一般的な原則はまだ適用されます。
インストールの前提条件:SQL ServerのPHPのMicrosoftドライバーには、SQL Native Clientが必要です。
Microsoft SQL Server 2008 R2 Native Client X64-for 64 bit Windows
または
Microsoft SQL Server 2008 R2 Native Client X32-for 32 bit Windows
システムに一致するNative Clientドライバーをダウンロードしてインストールします。
PHP MS SQLドライバー:
SQL Server用PHP用のMicrosoftドライバーをダウンロードします。
ファイルは自己解凍型の実行可能ファイルであるため、7ZipまたはWinRARを使用して、選択したフォルダーにファイルを抽出します。ここで、PHPのインストールに一致するドライバーを選択する必要があります。
PHP 5.3.5には4つの異なるフレーバーがあります。
インストールしたバージョンを確認するには、_snapshot.txt
_、_php.exe
_などと同じフォルダーにある_php-cgi.exe
_ファイルを開きます。ファイルは改行のみを使用するため、notepad.exeは使用しないでください( _\n
_)は行頭(Unix形式)で始まり、メモ帳はこれらを単一の行にマングルします。
ファイルには、_Build:
_:で始まる行(6行目付近、またはメモ帳を使用した1行目の中央付近)が表示されます。
ビルド:D:\ php-sdk\snap_5_3\vc9\x86\obj\Release-非スレッドセーフ、VC9ビルド ビルド:D:\ php-sdk\snap_5_3\vc6\x86\obj\Release-スレッドセーフではない、VC6ビルド ビルド:D:\ php-sdk\snap_5_3\vc9\x86\obj\Release_TS-スレッドセーフ、VC9ビルド ビルド:D:\ php- sdk\snap_5_3\vc6\x86\obj\Release_TS-スレッドセーフ、VC6ビルド
これにより、実行しているPHPのバージョンがわかります。
MS SQL PHPドライバーを抽出したフォルダーから、使用されているPHPのバージョンに一致するドライバーを選択します(PDOを使用していない場合は使用しません) _php_pdo_
_ドライバをコピーする必要があります):
PHP 5.3.5非スレッドセーフVC9:php_sqlsrv_53_nts_vc9.dll、php_pdo_sqlsrv_53_nts_vc9.dll PHP 5.3.5非スレッドセーフVC6:php_sqlsrv_53_nts_vc6.dll、php_pdo_vcs_v_vcs_vcs.dll 5スレッドセーフVC9:php_sqlsrv_53_ts_vc9.dll、php_pdo_sqlsrv_53_ts_vc9.dll PHP 5.3.5スレッドセーフVC6:php_sqlsrv_53_ts_vc6.dll、php_pdo_sqlsrv_53_ts_vc6.dll [.____
PHPインストールが_C:\PHP
_にあると仮定して、これらのファイルを_C:\PHP\EXT
_フォルダーにコピー(移動しない)します。
_C:\PHP\PHP.INI
_を開き、ファイルの_Dynamic Extensions
_の部分を見つけて追加します。
extension = php_sqlsrv_53_nts_vc9.dll extension = php_pdo_sqlsrv_53_nts_vc9.dll <-オプション
最後に、PHPがこれらの拡張機能を確実に見つけられるようにするには、_extension_dir
_の_C:\PHP\PHP.INI
_ディレクティブが_C:\PHP\EXT
_に設定されていることを確認します。
extension_dir = C:\ PHP\ext
IISを再起動し、phpinfo()
を呼び出します。すべてが順調であれば、次のように表示されます。
また、PDOドライバーもロードした場合は、次のように表示されます。
前述しました:
extension = php_sqlsrv_53_nts_vc9.dll
extension = php_pdo_sqlsrv_53_nts_vc9.dll
私が見つけたものは間違っています。
したがって、次のようになります。
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll