[〜#〜] pdo [〜#〜] を使用したいのですが、ホスティングで正しく設定されているかどうかわかりません。
MySQLで設定され、機能しているかどうかをPHPでテストするにはどうすればよいですか?
Phpinfo()を使用してそれが正しくリストされているかどうかを確認する以外に
if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
PDOは、php 5.1以降では常にインストールされます。 phpinfo();を使用して、インストールされているかどうかに関係なく特定のdbドライバーを確認できます。 @Mark Bakerのアイデアを使用して特定のドライバーを確認し、特定の定数を確認することもできます。
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();
これを試して
print_r(PDO::getAvailableDrivers());
pHPでサポートされているアプリケーションを提供する必要があります
Array ( [0] => mysql [1] => sqlite )
コマンドラインを使用して、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
を含むファイルを作成します
<?php
phpinfo();
?>
PDO(およびその他の機能が有効)かどうかが表示されます
Windowsサーバーの場合、コマンドプロンプトからどのPDO拡張機能が読み込まれているかを確認するために、次の情報が役に立ちました。
php -m|findstr -i pdo_
私のシステムでは、このコマンドにより次の結果が得られます。
pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite