phpversion()和sqlite_libversion()不返回任何东西
我在企业托管解决方案,并试图测试sqlite的存在。我正在运行以下代码:phpversion()和sqlite_libversion()不返回任何东西
<?php
echo sqlite_libversion(), "\n", phpversion();
?>
但是我得到一个空白页。我知道PHP正在运行,因为phpinfo()
成功,但是这还不足以告诉我sqlite是否正在运行,因为sqlite.ini存在于phpinfo()
中,但无法找到任何其他信息。
我正在通过FTP访问服务器并锁定到web-root。有谁知道为什么phpversion()
和sqlite_libversion()
什么都没有返回?
如果SQLite是不可用,sqlite_libversion()
功能甚至不存在,将只抛出一个PHP错误:
Fatal error: Call to undefined function sqlite_libversion()
您需要使用function_exists()来测试函数是否实际存在。
此外,您应该配置错误报告,以便您可以实际看到错误消息。您有几种方法可以这样做:
-
编辑您的
php.ini
文件:error_reporting = E_ALL | E_STRICT display_errors = On
-
将这个对你的脚本的顶部:
<?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', TRUE);
-
如果PHP运行作为Apache模块,您还可以使用
.htaccess
文件:# Print E_ALL | E_STRICT from a PHP script to get the appropriate number: php_value error_reporting 2147483647 php_flag display_errors on
更新:
如果运行这段代码并没有别的什么,你得到什么?
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', TRUE);
header('Content-Type: text/plain');
var_dump(phpversion());
if(function_exists('sqlite_libversion')){
var_dump(sqlite_libversion());
}
?>
取出回声,只是做
<?php
phpversion();
sqlite_libversion();
?>
这两个函数除了返回一个字符串什么也不做。如果您不使用返回的值,则代码无意义。 – 2012-01-09 10:38:35
你说得对。它甚至没有打我,这是phpversion,而不是phpinfo – sqram 2012-01-09 10:51:57
不幸的是,我被锁定到网络根,选项2没有显示任何错误。 – 2012-01-09 10:35:59
这也没有显示:'echo(function_exists(“sqlite_libversion”))? “sqlite exists”:“not here”;' – 2012-01-09 10:39:32
@George - 查看我的更新 – 2012-01-09 10:41:33