ホームページ  >  記事  >  バックエンド開発  >  PHP 致命的エラーの解決策: 未定義関数 mssql_connect() の呼び出し

PHP 致命的エラーの解決策: 未定義関数 mssql_connect() の呼び出し

PHPz
PHPzオリジナル
2023-06-23 10:06:101467ブラウズ

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 つの解決策があります。

  1. PHP 7.0 以降にアップグレードして sqlsrv ドライバーを使用する

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 データベースに接続できるようになります。

  1. PHP 7.0 以降で mssql ドライバーを引き続き使用する

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。