ホームページ >バックエンド開発 >PHPチュートリアル >PHP が SQLServer2005 に接続する問題を解決する方法_PHP チュートリアル
その後、仮想マシンに WIN2003 をインストールして試してみましたが、MSSQL モジュールの読み込みには問題ありませんでしたが、mssql_connect("localhost", "sa", ""); を使用してデータベースに接続できませんでした。その後、ネットでいろいろ調べて、ようやく情報を入手しました:
環境: IIS6.0+PHP5+SQL Server2005
SQL Server をインストールするときに、混合ログイン モード、つまり Windows と SQL Server 認証モードを選択します。 。
手順:
1. まず、通常どおり MS SQL Server に接続するように PHP5 を設定します
PHP.ini で extension=php_mssql.dll オプションを開きます (前の署名を削除します)
2 正しいバージョンの ntwdblib をダウンロードします。 .dll (2000.80.194.0)
3. c:windowssystem32ntwdblib.dll をカバーします
4. phpntwdblib.dll をカバーします (この手順が成功しない場合は、PHP が依存する php5ts.dll を system32 ディレクトリに置きます)
5. SQL Server 構成マネージャー: SQL Server 構成マネージャーで、プロトコルを開きます
6. 名前付きパイプ「名前付きパイプ」と「tcp/ip」を許可します
7. 「tcp/ip」を右クリックし、「プロパティ」タブ「IP アドレス」を開きます
8 . TCP 動的ポート「TCP 動的ポート」に 1433 を入力します (テスト後は、実際には空白のままにすることができます)
9. SQL Server、IIS、および PHP を再起動します
10. 接続されたホスト名とポート番号を使用します。 mssql_connect("localhost,1433", "sa", ""); (私は試してみましたが、それがなくても動作します)
インターネット上の一部の人は、php.ini 設定で mssql.secure_connection = を設定する必要があると言っています。ファイルの Off を on に変更しましたが、しばらく試しても SQL Server に接続できませんでした。その後、mssql.secure_connection = Off を Off に戻してみたところ、ようやく接続できました。