MySQL(5.5.23 Community Server)、Apache(2.2)、およびPHP(5.3.13)Fedora 15マシン(64ビット)で実行しています。それぞれが問題なく動作します。彼ら自身。
PHPはMySQLで動作するように設定/コンパイルされたが、MySQLを呼び出すWebページをPHP上記の致命的なエラー(Apacheエラーログ内)PHPは、Apacheとコマンドラインで独自に動作します。
コマンドラインからphp -iを実行すると、すべてのMySQLビットとピースが十分に表示されますが、phpinfo()を表示するページをロードすると、MySQLモジュールは表示されません。
また、php.iniで「extension = mysql.so」のコメントを外してみましたが、PHPで「PHP Startup:Unable to load dynamic library '/usr/lib64/php/modules/mysql.so'."
(モジュールが存在する場合でも)。しかし、その行をコメント解除する必要があるかどうかは完全にはわかりません。 [修正:記載されているエラーは実際にはタイプミスによるものですが、コマンドラインから実行すると、モジュールが既にロードされていることが示されます-PHPからの警告があります。]
また、SELinuxを無効にしました。 Apacheを何度も停止/再起動しました。何らかの違いが生じた場合に備えて、MySQL-Develを使いました。そして、可能性のある他のすべてのもの。
MySQLデータベースにアクセスするために、コマンドラインから少しPHPテストスクリプトを実行すると、問題なく動作します。したがって、PHPはMySQLについて認識しています、しかし、Apacheの下で実行する場合、MySQLが存在するという手がかりもないようです。
私はこの問題を解決するために何ヶ月も試行錯誤してきましたが、すべてを試したようですが、何もうまくいかないようです。
PHP本当に必要な場合、誰かがMySQLサポートで設定/コンパイルするための適切な方法を示すことができれば、それで動作するように再インストールする必要はありません。 Apacheは、理想的には、既存のインストールを機能させることを望んでいます。
どんな援助も事前に感謝します!
他の誰かがこれに直面した場合、それはPHPがmysqlクライアントライブラリにアクセスできない場合です。システムにMySQLサーバーがあることは正しい修正ではありません。 ubuntu(およびPHP 5)の修正:
Sudo apt-get install php5-mysql
クライアントをインストールしたら、ウェブサーバーを再起動する必要があります。 Apacheを使用している場合、以下が機能するはずです。
Sudo service Apache2 restart
PHP 5.5.0の時点で、mysql_connect()
関数は廃止され、PHP 7
詳細は php documentation で見つけることができます:
見積もり:
警告
この拡張機能は、PHP 5.5.0で廃止され、PHP 7.0.0。で削除されました。代わりに、MySQLiまたはPDO_MySQL拡張機能MySQL:APIガイドの選択と関連するFAQを参照してください。この関数の代替手段は次のとおりです。
* mysqli_connect()
* PDO :: __ construct()
どのように試合
Sudo yum install php-mysql
または
Sudo apt-get install php5-mysql
ApacheモジュールPHPバージョンは、何らかの奇妙な理由で、php.iniファイルをCLIバージョンとしてピックアップしていない可能性があります。
.ini
_とphpinfo()
で異なる_php -i
_ファイルの違い*mysql.so
_および_.ini
_ファイルのパーミッションを調べますが、Apacheはこれらをroot
ユーザーとして解析すると思いますここで本当に明確にするために、ファイルシステム上で_php.ini
_ファイルを検索するのではなく、PHPがそれを見ていることを見て