Я пытаюсь получить php с sqlite, работающим на моем сервере Fedora. В phpinfo видно, что ./configure был установлен с параметром --without-sqlite3. Из того, что я прочитал, это означает, что мне, возможно, придется перекомпилировать или переустановить php с помощью sqlite. Мне было интересно, как я буду устанавливать или настраивать php с помощью sqlite. (Возможно, команда yum?) Спасибо
Перекомпилировать ничего не нужно. В Fedora вы можете получить модуль sqlite php, установив модуль php-pdo. Следующее должно помочь.
yum установить php-pdo
Причина, по которой вы видите, что php был создан без sqlite, заключается в том, что Fedora может разделить пакет php и, таким образом, не навязывать большую строку зависимостей людям, которым они не нужны. Например, вам нужен sqlite и, следовательно, вам не нужен postgresql. Если бы Fedora собирала основное приложение mod_php со всеми включенными --with, вы бы установили postgresql без необходимости или желания. Это помогает людям, заинтересованным как в безопасности (устанавливают только необходимое программное обеспечение), так и людям, озабоченным пропускной способностью загрузки пакетов.
В Интернете можно найти вопросы и ответы о поддержке sqlite в PHP в дистрибутивах Fedora Core, Red Hat и CentOS. Хотя у многих из них есть различия в том, как включить поддержку, все они говорят одно и то же о причине: пакеты для PHP в этих дистрибутивах скомпилированы без поддержки SQLite. Насколько мне известно, в настоящее время нет RPM для простой установки php-sqlite3.
Я рекомендую вам взглянуть на комментарии, найденные на PHP Установка SQLite страницу, которая подробно описывает, как заставить его работать как можно безболезненно. Краткая версия предназначена для того, чтобы убедиться, что у вас установлен php-devel (если нет, запустите yum install php-devel
) и сделайте следующее:
Загрузите исходный код PHP из http://php.net/downloads.php и скомпилировать его с поддержкой модуля SQLite.
tar xfvj php-5.3.2.tar.bz2
cd php-5.3.2/ext/sqlite/
phpize
./configure
make
make install
/etc/init.d/httpd restart