PHP 開発用の MySql 拡張機能をロードしようとしています。
実行すると、<?php phpinfo(); ?>
MySql 拡張機能がロードされていないことがわかります。これは、mysql_connect
関数を使用するスクリプトを実行してエラーを受け取ったときにも明らかですFatal error: Call to undefined function mysql_connect() in C:\Apache24\htdocs\test.php on line 11
。
実行するとphp --ini
、次のような出力が得られます。
Loaded Configuration File: C:\php\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
したがって、MySql 拡張機能を有効にするために php.ini ファイルを編集すると、正しい .ini ファイルを編集していることがわかります。 の出力はphpinfo()
同じファイルを指します。
php.iniファイルで変更しました
;extension=php_mysql.dll
に
extension=php_mysql.dll
私の php.ini ファイル内の拡張ディレクトリの場合:
extension_dir = "./ext"
そのディレクトリ内にはファイルがありますphp_mysql.dll
。
ここで私は少し困惑しており、何が足りないのかよく分かりません。SE サイトや他の場所で見つけた答えはすべて、php.ini ファイルの行のコメントを解除し、extension_dir が正しい .dll ファイルを含む場所を指していることを確認するように指示しているだけです。
この拡張機能を適切に読み込むために何が欠けているのでしょうか?
ご協力いただければ幸いです。
答え1
この問題の一般的な原因は、PHP のインストール ディレクトリが環境変数に含まれていないことですPATH
(参照:PHP: Windows での拡張機能のインストール)、これにより、php モジュールが mysql を見つけられなくなります。
拡張機能の読み込みに失敗したというエラーがログに記録されていますか?