通过PHP文件测试sqlite服务器的最快方法?
我不确定我的服务器上是否有sqlite,所以我想使用一个PDO对象来测试服务器是否支持sqlite。我试过:通过PHP文件测试sqlite服务器的最快方法?,php,sqlite,Php,Sqlite,我不确定我的服务器上是否有sqlite,所以我想使用一个PDO对象来测试服务器是否支持sqlite。我试过: <?php echo `sqlite3 -v`; 我现在已经找到了一种测试方法: <?php echo sqlite_libversion(); echo "<br>"; echo phpversion(); 它在您的php.ini中被禁用 如果要直接运行shell命令,需要在其中查找shell\u exec 它可能在下面 disable_functions
<?php
echo `sqlite3 -v`;
我现在已经找到了一种测试方法:
<?php
echo sqlite_libversion();
echo "<br>";
echo phpversion();
它在您的php.ini中被禁用
如果要直接运行shell命令,需要在其中查找shell\u exec
它可能在下面
disable_functions = ..., shell_exec, ...
您可以使用检查sqlite函数是否存在,如下所示:
2.8.17
5.2.17
if (function_exists('sqlite_open')) {
echo 'Sqlite PHP extension loaded';
}
对于SQLite3
前者不起作用,所以改用它(由Prid评论提供):
或者您可以简单地使用:
if (extension_loaded('sqlite3')) {
// Do things
}
如果您的提供商支持sqlite3,则可以通过以下方式进行测试:
<?php
print_r(SQLite3::version());
?>
还请参考手册:对于PHP5.4.0及以上版本,接受的答案将无法作为旧的SQLite扩展
可以尝试以下方法:
if (class_exists('SQLite3')) {
echo 'Sqlite PHP extension loaded';
}
或者改为使用。事实上,我甚至无法在中使用SSH。这是一个免费的网络主机,我只是用它来远程测试脚本。我不认为我被允许编辑php.ini。我不认为免费的webhosts实际上为您提供了修改php.ini的方法。如果sqlite扩展不存在,您对sqlite\u libversion
的调用将生成运行时php错误,您需要使用函数\u exists()
来防止这种情况发生。@Nelson您也可以使用函数\u exists('sqlite\u libversion')
,但它需要更多的键入,对吗?:)如果您使用的是PHP7或以上版本,请改用PDO。这似乎已经过时,因为比5.4命令行版本更新:php-r'echo function_存在(“sqlite_open”)?“是”:“否”代码>如果您使用的是PHP7或以上版本,请改用PDO。这似乎已经过时了,因为高于5.4这对SQLite3不起作用!如果(class_存在('SQLite3')){
if (class_exists('SQLite3')) {
echo 'Sqlite PHP extension loaded';
}