MySQL(5.5.23 Community Server)、Apache(2.2)、およびPHP(5.3.13)をFedora 15マシン(64ビット)で実行しています。それぞれが単独で問題なく動作します。
PHPはMySQLで動作するように構成/コンパイルされていると思いましたが、MySQL呼び出しを行うPHP Webページを読み込もうとすると、上記の致命的なエラーが発生します(Apacheエラーログに)。PHPは、Apacheとコマンドラインを介して、それ自体で問題なく動作します。
コマンドラインからphp-iを実行すると、すべてのMySQLの断片が表示されますが、phpinfo()を表示するページをロードすると、MySQLモジュールが表示されません。
また、php.iniで「extension = mysql.so」のコメントを外そうとしましたが、PHPは「PHPスタートアップ:ダイナミックライブラリをロードできません'/usr/lib64/php/modules/mysql.so'."
(モジュールがそこにあるのに)」と文句を言います。しかし、私はそうではありません。その行のコメントを解除する必要があるかどうかを完全に確認します。[修正:記載されているエラーは実際にはタイプミスによるものでしたが、コマンドラインから実行すると、モジュールが既にロードされていることが示されます。PHPから次のような警告があります。そう言う。]
SELinuxも無効にしました。Apacheを何度も停止/再起動しました。違いが生じた場合に備えて、yummedMySQL-Devel。そして、それは、他のすべての可能なことのようです。
コマンドラインから小さなPHPテストスクリプトを実行してMySQLデータベースにアクセスすると、問題なく動作するため、PHPはMySQLを認識しますが、Apacheで実行すると、MySQLが存在することすらわかりません。
私はこの問題を解決するために何ヶ月もオンとオフを試してきました、そしてすべてを試したようですが、何もうまくいかないようです。
本当に必要な場合は、PHPを再インストールする必要があります。誰かが、MySQLサポートを使用して構成/コンパイルする適切な方法を示して、Apacheで動作させることができる場合は、PHPを再インストールする必要があります。既存のインストールを機能させるため。