ホームページ >バックエンド開発 >PHPチュートリアル >未定義関数 mysql_connect_PHP チュートリアル
未定義関数mysqltutorial_connect
Windows に PHP チュートリアルをインストールする場合、構成ファイルの混乱を避けるために、インストール ディレクトリにある php.ini を Windows ディレクトリにコピーした後、元のインストール ディレクトリにある php.ini ファイルの名前を変更するか削除する必要があります。異なる環境で実行すると検索設定ファイルに不整合が発生します
致命的なエラー: 未定義の関数 mysql_connect()
環境: Windows 2003、php 5.2.0、mysql 5.0、apache 2.0
php.ini では、php_mysql.dll のモジュール オプションがオンになっています。テスト スクリプトも非常に単純で、mysql_conect 関数だけであり、内容は次のとおりです。
コードをコピーします コードは次のとおりです:
php.ini:
拡張子=php_mysql.dll
テストスクリプトtest.phpの内容は以下の通りです:
text.php
if ( !mysql_connect(dbhost, dbuser,dbpwd) )
{
エコー「接続に失敗しました!」
出る
}
echo "接続成功!t";
?>
Web メソッドを使用して http://localhost/test.php を呼び出すと、正常に実行され、「接続に成功しました」と表示されます。
しかし、dos コマンドラインを使用して d:/php/php.exe test.php を呼び出すと、接続が失敗したことが示され、エラー メッセージは次のとおりです: 致命的なエラー: 未定義の関数 mysql_connect()
明らかに、dos コマンドのコマンド ライン環境では、mysql モジュールは呼び出されません。すべての方法を試しましたが、それでも解決できず、後で php の設定と 2 つの環境の違いを確認するためのスクリプトを書きました。
テスト.php
コードをコピーします コードは次のとおりです:
エコー phpinfo();
?>
2 つの環境で phpinfo() によって入力された php 構成情報を注意深く確認し、最終的に問題を発見しました:
dos コマンドのコマンド ライン モード d:/php/php.exe test.php を呼び出す場合、その設定ファイル (php.ini) のパスは d:phpphp.ini です。
c:windows および d:php ディレクトリには、php.ini ファイルがあります。d:php ディレクトリの php.ini では、extension=php_mysql.dll モジュールは開きません。そこで、d:phpphp.iniを削除し、c:windowsphp.iniだけを残したところ、問題は解決しました。
http://www.bkjia.com/PHPjc/630766.html
www.bkjia.com
true