web-dev-qa-db-ja.com

pdoをテストするphpコードは利用可能ですか?

[〜#〜] pdo [〜#〜] を使用したいのですが、ホスティングで正しく設定されているかどうかわかりません。

MySQLで設定され、機能しているかどうかをPHPでテストするにはどうすればよいですか?

26
ohho

Phpinfo()を使用してそれが正しくリストされているかどうかを確認する以外に

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
28
Mark Baker

PDOは、php 5.1以降では常にインストールされます。 phpinfo();を使用して、インストールされているかどうかに関係なく特定のdbドライバーを確認できます。 @Mark Ba​​kerのアイデアを使用して特定のドライバーを確認し、特定の定数を確認することもできます。

var_dump(defined(PDO::MYSQL_ATTR_LOCAL_INFILE)); // mysql
var_dump(PDO::FB_ATTR_TIME_FORMAT)); // firebird

すべてのドライバに特定の定数が定義されているわけではないので、phpinfo()が最善の解決策であることに注意してください。

コマンドラインを使用すると、次の方法で確認できます。

$ php -m

Phpinfo()の代替として、以下を使用できます。

extension_loaded ('PDO' ); // returns boolean
// or
extension_loaded('pdo_mysql');
// or get all extensions and search for a specific one
get_loaded_extensions(); 
38
Elzo Valugi

これを試して

print_r(PDO::getAvailableDrivers());

pHPでサポートされているアプリケーションを提供する必要があります

Array ( [0] => mysql [1] => sqlite )
15
rizon

コマンドラインを使用して、PDOの場合:

php -m|grep -i pdo

MySQLをサポートするPDOの場合:

php -m|grep -i pdo_mysql

Php mysqlサポートをインストールするには、パッケージ名(Ubuntu)を検索します。

apt-cache search php5*|grep mysql

まだインストールしていない場合はインストールします(Ubuntu):

Sudo apt-get install php5-mysql
9
Tareq

を含むファイルを作成します

<?php

phpinfo();

?>

PDO(およびその他の機能が有効)かどうかが表示されます

4
DrColossos

Windowsサーバーの場合、コマンドプロンプトからどのPDO拡張機能が読み込まれているかを確認するために、次の情報が役に立ちました。

php -m|findstr -i pdo_

私のシステムでは、このコマンドにより次の結果が得られます。

pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite

0
Dave Morton