Как обновить SQLite в MAMP для использования расширения JSON1?

Я использую последнюю версию 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.

Итак, сначала я попытался обновить это. Я загрузил предварительно скомпилированные двоичные файлы (3.12.1) для OS X и заменил sqlite3 файл в /etc/bin/ папка. Я думал, что это было сделано, потому что я проверяю консоль с запуском /usr/bin/sqlite3 непосредственно. Вы можете увидеть результат ниже. Версия обновлена ​​до последней версии.

введите описание изображения здесь

Затем я попытался проверить версию SQLite в PHP.

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

К сожалению сказано;

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

Тогда я застрял в этой точке. Где я могу посмотреть дальше?

Обновить

Я успешно установил SQLite 3.12.1 через homebrew.

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

И теперь я могу запускать функции JSON в консоли. Но все еще не могу подключить API через PHP.

<?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

0 ответов

Другие вопросы по тегам