4

サーバーに sqlite があるかどうかわからないので、PDO オブジェクトを使用してテストし、サーバーが sqlite をサポートしているかどうかを確認したいと考えています。私は試した:

<?php
echo `sqlite3 -v`;

次のエラーが発生しました:Warning: shell_exec() has been disabled for security reasons

4

6 に答える 6

8

または、単に使用できます:

if (extension_loaded('sqlite3')) {
    // Do things
}

http://php.net/manual/en/function.extension-loaded.php

于 2015-03-09T19:05:28.487 に答える
8

次のように、 function_exists()を使用して、sqlite 関数が存在するかどうかを確認できます。

if (function_exists('sqlite_open')) {
   echo 'Sqlite PHP extension loaded';
} 

前者は機能しないためSQLite3、代わりにこれを使用してください(Pridのコメントの礼儀)

if (class_exists('SQLite3')) {
   echo 'SQLite3 extension loaded';
}
于 2012-11-05T09:19:14.997 に答える
1

シェルコマンドを直接実行したい場合は、その中のshell_execphp.ini
を探す必要があります。

下かもね

disable_functions = ..., shell_exec, ... 
于 2012-11-05T09:17:01.413 に答える
0

私は実際にこれをテストする方法を見つけました:

<?php
echo sqlite_libversion();
echo "<br>";
echo phpversion();

次のようなものを返します。

2.8.17
5.2.17
于 2012-11-05T09:16:19.150 に答える