Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP文件测试sqlite服务器的最快方法?_Php_Sqlite - Fatal编程技术网

通过PHP文件测试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

我不确定我的服务器上是否有sqlite,所以我想使用一个PDO对象来测试服务器是否支持sqlite。我试过:

<?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';
}