PHP 致命的エラーの解決策: 未定義関数 mssql_connect() の呼び出し
PHP 開発者であれば、おそらくこのエラーに遭遇したことがあるでしょう。通常、これは Microsoft SQL Server データベースに接続しようとしたときに発生します。この記事では、この問題の原因と解決策を探っていきます。
原因
PHP 7.0 より前では、PHP で使用されるデータベース ドライバーは Microsoft SQL Server ドライバー (mssql) でした。ただし、PHP 7.0 バージョン以降、このドライバーは削除されました。 PHP は Microsoft の公式ドライバー (sqlsrv) を使用するようになりました。
PHP バージョンが 7.0 以降で、コード内で mssql_connect() 関数を使用している場合、このエラーが発生します。
解決策
この問題には 2 つの解決策があります。
PHP 7.0 より前のバージョンで mssql ドライバーを使用している場合は、PHP 7.0 にアップグレードする必要があります。以降、Microsoft の公式ドライバー (sqlsrv) を使用してください。以下の手順に従って、sqlsrv ドライバーをインストールして有効にすることができます。
ステップ 1: Microsoft SQL Server ドライバーをダウンロードする
Microsoft SQL Server ドライバーの最新バージョンは、Microsoft の公式 Web サイトからダウンロードできます。
ステップ 2: SQLSRV 拡張機能を有効にする
ダウンロードが完了したら、PHP 構成ファイルで SQLSRV 拡張機能を有効にする必要があります。 php.ini ファイルを開き、動的拡張セクションに次のコードを追加します。
extension=php_pdo_sqlsrv_7_ts.dll
extension=php_sqlsrv_7_ts.dll
ここでは、PHP 7 を使用しています。拡張ファイルの x バージョン。別のバージョンの PHP を使用している場合は、PHP バージョンに応じて対応する拡張ファイルを選択する必要があります。
ステップ 3: Web サーバーを再起動する
すべての構成が完了したら、すべての変更を有効にするために Web サーバーを再起動する必要があります。
これで、sqlsrv_connect() 関数を使用して Microsoft SQL Server データベースに接続できるようになります。
PHP 7.0 以降にアップグレードできず、引き続き mssql ドライバーを使用する必要がある場合は、次の手順を実行できます。問題を解決するには、以下の手順に従ってください。
ステップ 1: Microsoft SQL Server ドライバーをダウンロードする
Microsoft SQL Server ドライバーをダウンロードする必要がありますが、今回は古いバージョン (バージョン 3.0) のドライバーをダウンロードする必要があります。
ステップ 2: MSDASQL ドライバーを有効にする
MSDASQL は、OLE DB データ ソースを ODBC データ ソースにマップできる ODBC ドライバーです。 MSDASQL ドライバーを有効にし、SQL Server データ ソースを OLE DB プロバイダーとして構成する必要があります。
ステップ 3: php.ini ファイルを構成する
php.ini ファイルを開き、動的拡張セクションに次のコードを追加します:
extension=php_pdo_odbc.dll
extension =php_odbc.dll
ステップ 4: Web サーバーの再起動
すべての構成が完了したら、すべての変更を有効にするために Web サーバーを再起動する必要があります。
これで、mssql_connect() 関数を使用して Microsoft SQL Server データベースに接続できるようになります。
結論
どの方法を選択しても、このエラーは解決できます。 PHP 7.0 以降にアップグレードし、公式の Microsoft SQL Server ドライバー (sqlsrv) を使用できる場合、それが最良の選択肢になります。ただし、バージョンをアップグレードできない場合は、古いバージョンの Microsoft SQL Server ドライバー (mssql) を使用して接続することもできます。いずれの場合も、この問題を解決するには、上記の手順を慎重かつ辛抱強く実行する必要があります。
以上がPHP 致命的エラーの解決策: 未定義関数 mssql_connect() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。