2

我正在使用最新的 OS X El Capitan。我的 MAMP 是 3.5 PRO。我在其中运行 PHP 7.0.0。您可以在此处查看 PHP 的信息。

我认为 SQLite 默认在 OS X 中可用。但是这个 SQLite 在 OS X 中的版本是 3.8。JSON1 扩展仅在 SQLite 3.9 版本后可用。

所以首先,我尝试升级它。我为 OS X 下载了预编译的二进制文件(3.12.1)并替换了sqlite3文件/etc/bin/夹中的文件。我认为它已经完成,因为我/usr/bin/sqlite3直接运行检查控制台。您可以在下面看到结果。版本升级到最新版本。

在此处输入图像描述

然后我尝试检查 PHP 中的 SQLite 版本。

<blockquote>
    <?php print_r(SQLite3::version()); ?>
</blockquote>

不幸的是它说;

Array ( [versionString] => 3.8.10.2 [versionNumber] => 3008010 )

然后我就卡在了这一点上。接下来我可以在哪里看?

更新

我通过自制软件成功安装了 SQLite 3.12.1。

brew install sqlite3 --with-json1 --with-ft5

现在我可以在控制台中运行 json 函数了。但仍然无法通过 PHP 连接 API。

<?php
    $db  = new SQLite3("sqlite");

    $sql = "create table user(name,phone);";
    //$db->query("SELECT load_extension('myextension.so');");
    $sql = 'insert into user (name, phone) values("oz", json(\'{"cell":"+491765", "home":"+498973"}\'));';
    $db->exec($sql);
?>

Warning: SQLite3::exec(): no such function: json in /Users/Fehmi/Data/root/sqlite/info.php on line 17

4

0 回答 0