我正在使用企业托管解决方案,并尝试测试sqlite的存在。我正在运行以下代码:
<?php
echo sqlite_libversion(), "\n", phpversion();
?>
但我得到一个空白页面。我知道PHP正在运行,因为phpinfo()
成功,但这还不足以告诉我sqlite是否正在运行,因为phpinfo()
中存在sqlite.ini但找不到任何其他信息。
我通过FTP访问服务器并锁定到web-root。有谁知道为什么phpversion()
和sqlite_libversion()
什么都没有返回?
答案 0 :(得分:2)
如果SQLite不可用,sqlite_libversion()
函数将不存在,只会抛出PHP错误:
致命错误:调用未定义的函数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());
}
?>
答案 1 :(得分:0)
取出回声,就这样做
<?php
phpversion();
sqlite_libversion();
?>