SQLite抛出“未定义的函数sqlite_open()”

时间:2012-04-07 02:03:48

标签: php sqlite titanium

我正在使用PHP中的Titanium开发一个桌面应用程序。我是一名使用MySQL DB的PHP Web开发人员,是使用SQLite DB的Desktop新手

当我尝试打开SQLite DB时,会抛出致命错误

我使用的代码是

if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}

只是PHP.net中的示例代码

PHP.net说SQLite与PHP 5 +捆绑在一起

仅在TItanium Studio中抛出的错误

在我的XAMPP中一切正常

你可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

SQLite requirements的PHP手册页说: The SQLite extension is enabled by default as of PHP 5.0. Beginning with PHP 5.4, the SQLite extension is available only via PECL.

您可能想要查看Titanium Studio正在使用的PHP版本。

我以前从未使用过这个特定的IDE,但这通常是我在寻找PHP的版本和模块相关信息时所做的事情:

  1. 找到PHP二进制文件(php.exe,php,php5,php-cgi等)。 (使用你的O.S.工具找到它)
  2. 运行$PHP_BINARY -v以获取二进制文件的版本信息。
  3. 运行$PHP_BINARY -m以获取PHP的已启用模块的打印输出。
  4. 如果加载的模块中没有列出sqlite,请查看它是否存在于extension_dir配置指令指向的目录中(在php.ini中)。
  5. 如果模块作为文件存在,请添加一行说明extension = $NAME_OF_SQLITE_FILE(通常是php_sqlite.so或php_sqlite.dll)并查看sqlite_open()现在是否有效。
  6. 如果模块不存在,请查看是否可以从IDE的维护者那里获得预编译的二进制文件,或者他们是否有从源代码构建扩展的具体说明。