phpversion()和sqlite_libversion()没有返回任何内容

时间:2012-01-09 10:17:18

标签: php sqlite

我正在使用企业托管解决方案,并尝试测试sqlite的存在。我正在运行以下代码:

<?php
echo sqlite_libversion(), "\n", phpversion();
?>

但我得到一个空白页面。我知道PHP正在运行,因为phpinfo()成功,但这还不足以告诉我sqlite是否正在运行,因为phpinfo()中存在sqlite.ini但找不到任何其他信息。

我通过FTP访问服务器并锁定到web-root。有谁知道为什么phpversion()sqlite_libversion()什么都没有返回?

2 个答案:

答案 0 :(得分:2)

如果SQLite不可用,sqlite_libversion()函数将不存在,只会抛出PHP错误:

  

致命错误:调用未定义的函数sqlite_libversion()

您需要使用function_exists()来测试该功能是否真的存在。

此外,您应该配置错误报告,以便实际查看错误消息。您有几种方法可以这样做:

  1. 修改您的php.ini文件:

    error_reporting = E_ALL | E_STRICT
    display_errors = On
    
  2. 将此放在您的脚本之上:

    <?php
    
    error_reporting(E_ALL | E_STRICT);
    ini_set('display_errors', TRUE);
    
  3. 如果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
    

  4. <强>更新

    如果您运行此代码而没有其他内容,您会得到什么?

    <?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();
?>