我不确定我的服务器上是否有 sqlite,所以我想使用 PDO 对象来测试并查看服务器是否支持 sqlite。我试过:
<?php
echo `sqlite3 -v`;
收到以下错误:Warning: shell_exec() has been disabled for security reasons
您可以只使用function_exists()来检查 sqlite 函数是否存在,如下所示:
if (function_exists('sqlite_open')) {
echo 'Sqlite PHP extension loaded';
}
因为SQLite3
前者不起作用,所以请改用它(由 Prid 的评论提供):
if (class_exists('SQLite3')) {
echo 'SQLite3 extension loaded';
}
或者您可以简单地使用:
if (extension_loaded('sqlite3')) {
// Do things
}
如果您想直接运行 shell-commands,您需要在其中查找php.ini
shell_exec 。
可能低于
disable_functions = ..., shell_exec, ...
您的提供商是否支持 sqlite3,那么您可以通过以下方式对其进行测试:
<?php
print_r(SQLite3::version());
?>
我实际上已经找到了一种测试方法,现在:
<?php
echo sqlite_libversion();
echo "<br>";
echo phpversion();
返回如下内容:
2.8.17
5.2.17
对于PHP 5.4.0 及更高版本,接受的答案将不起作用,因为旧的 SQLite 扩展已被删除。
试试这个作为替代方案:
if (class_exists('SQLite3')) {
echo 'Sqlite PHP extension loaded';
}