Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

SQLite и PHP 5.4

Настройка сервера Add comments

Захотелось мне подключить SQLite для кеша, но получил немного неприятный ответ:

Fatal error:  Call to undefined function sqlite_escape_string() in /domain.com/common.php on line 465

Пошарился в интернете и стало ясно, что с PHP 5.4 старый привычный sqlite вырезали, оставили только PDO_SQLITE. Почти все рекомендации сводились к использованию как раз таки PDO. Переписывать функции в движке не хотелось, оно того не стоит (на данном этапе), потому пришла в голову идея собирать самостоятельно модуль. Нечто подобное я когда-то делал для Redis. Позднее нашел ссылку годичной давности, где эту идею написали и расписали.

Устанавливаем пакет для разработчиков:

# aptitude install php5-dev

Скачиваем исходники с SVN:

# svn co http://svn.php.net/repository/pecl/sqlite/trunk sqlite

Приступаем:

# phpize

Получили ответ:
Configuring for:

PHP Api Version:        20100412
Zend Module Api No:      20100525
Zend Extension Api No:  220100525

Запоминаем число — 20100525 (у Вас может быть другое).

# ./configure
# make

Если всё ок, то увидим такое:

Build complete.
Don't forget to run 'make test'./pre>
Сделаем тест, как просят (не обязательно):
# make test

В конце теста получим запрос на отправку отчёта. Можете отправить, а можете и не отправить.

Do you want to send this report now? [Yns]: Y

Проверяем появился ли модуль. Он должен быть в папке modules.

# ls -l modules
total 1452
-rw-r--r-- 1 root root    916 Aug 25 02:25 sqlite.la
-rwxr-xr-x 1 root root 1482112 Aug 25 02:25 sqlite.so

Модуль есть, а значит можно смело переносить его в папку модулей PHP. Вот тут нам и нужны цифры, которые мы получили от phpize

# cp modules/sqlite.so /usr/lib/php5/20100525/

Теперь включим модуль:

# nano /etc/php5/mods-available/sqlite.ini

Напишем в файл такой текст:

; configuration for php SQLite module
; priority=20
extension=sqlite.so

Сделаем линк:

# ln -s /etc/php5/mods-available/sqlite.ini /etc/php5/conf.d/20-sqlite.ini

Перезагружаем сервис:

# service php5-fpm restart

Ну и проверяем появилась ли инфа в phpinfo() 🙂
sqlite
Если всё прошло удачно, то почистим за собой мусор:

# cd ..
# rm -R sqlite

Вот и всё. Удачи! 🙂


Источники:
http://docs.php.net/manual/ru/install.pecl.phpize.php
http://svn.php.net/viewvc/pecl/sqlite/trunk/
http://pecl.php.net/package/SQLite
http://phpclub.ru/talk/threads/Установка-sqlite-на-php-5-4-x.72620/#post-648443


25 августа, 2013  
Tags: php, php 5.4, sqlite, sqlite.so

4 комментария to “SQLite и PHP 5.4”

  1. иван
    8 февраля, 2015 at 1:20 дп

    выполняю эту команду ./configure, система говорит что нет такого файла в директории. помогите пожалуйста


  2. Gemini_13
    12 февраля, 2015 at 11:17 дп

    статья устарела.
    Для дебиана достаточно установить модуль с репо:
    # apt-get install php5-sqlite


  3. AlexN
    21 марта, 2015 at 5:17 пп

    А что дальше после команды «apt-get install php5-sqlite», как запустить? А то не работает на Debian 7.8 чат iChat 7.0.


  4. Gemini_13
    14 мая, 2015 at 4:15 пп

    Ем-м.. Как минимум посмотрите логи и документацию к этому iChat 🙂


Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2013 Gemini_13's Blog
G13.org.ua