MySQLサービス(または単にMySQL)がPHPで利用可能かどうかを検出するには?

どうやってやるの?次のように:

if (mysql is available) {
   connect and do queries
}
else {
   use files
}
2
あなたは何を試そうとしていますか? PHPがMySQLをサポートして構築されている場合? MySQLサーバーに接続できるのですか? MySQLサーバに接続して認証することができますか?
追加された 著者 Quentin,
「MySQL接続が利用可能です」または「MySQL拡張が利用可能です」という意味ですか?
追加された 著者 Grim...,
MySQLモジュールがインストールされPHPで利用可能かどうか知りたいですか?または、MySQLサーバーに正常に接続できたかどうかを知りたいですか?
追加された 著者 Jonathan,

5 答え

エレガントではない:

if (shell_exec('mysql -V') != ''){
  echo "MySql is here";
}else{
  echo "No MySql here";
}

"shell_exec( 'mysql -V')が返す文字列の中でmysqlを検索することができます。

4
追加された

やってみました:

extension_loaded( "mysql");

http://us.php.net/extension_loaded

3
追加された
いいえ、それはうまくいかないでしょう。私は開発マシンでMySQLを停止しましたが、PHPはextension_loaded( "mysql")に対しても1を返します。
追加された 著者 zmippie,

私はこれをテストすることはできませんが、

if (function_exists('mysql_connect'))

動作する可能性があります。

1
追加された

または、phpinfo()関数を使用して、 "mysql"をCTRL + Fで検索し、拡張機能が有効になっているかどうかを確認してください...

1
追加された

接続しようとすると失敗したら、他のことをしてください。

eg:

if ($link = mysql_connect('localhost', 'mysql_user', 'mysql_password')) {
    //do queries
} else {
   //use files
}
0
追加された
@ジョナサンopがmysqlモジュールがロードされているかどうかではなく、mysqlが利用可能かどうかをテストしたい。
追加された 著者 xdazz,
@ Xdazz私はジョナサンと同じでOPを読むことを告白する必要があります - 両方の答えが正しいことができます。
追加された 著者 Grim...,
MySQLモジュールがロードされていないと、致命的なエラーは発生しませんか?
追加された 著者 Jonathan,
私は彼らがMySQLがシステムにインストールされているかどうかを尋ねていると思っていたと思う。
追加された 著者 Jonathan,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com