Я встречал похожие вопросы, но ни один из них не отвечал должным образом. Я запускаю Apache и PHP 5.3.6 на облачном сервере Amazon.
phpinfo продолжает заявлять, что sqlite отключен. По крайней мере, так кажется из строки настройки:
'./configure' ... '--without-sqlite'
В других частях вывода phpinfo ():
PDO
PDO drivers mysql, sqlite
PDO Driver for SQLite 3.x enabled
SQLite Library 3.6.20
sqlite3
SQLite3 support enabled
SQLite3 module version 0.7-dev
SQLite Library 3.6.20
Directive Local Value Master Value
sqlite3.extension_dir no value no value
и по крайней мере одна из следующих команд PHP не работает:
if (!extension_loaded('SQLite') OR !function_exists('sqlite_open'))
В Yum install указано, что sqlite и pdo-lite уже установлены.
Я попытался включить sqlite, отредактировав свой локальный php.ini, добавив:
; Enable sqlite3 extension module
extension=sqlite3.so
Я проверил основной файл php.ini (/etc/php.ini), и нет ничего особенного в его отключении. Фактически, в php.d загружен файл sub-conig, который также определяет это расширение, а также другое для pdo-sqlite
Я бегаю из того, что ищу или пытаюсь. Какие-либо предложения.
Как мне узнать, где указана конфигурация PHP?
Спасибо
Когда бы ты ни делал phpinfo();
убедитесь, что вы смотрите на правильный php.ini (я думаю, все мы были там, где вы смотрели на один php.ini, когда используется другой php.ini), так что посмотрите на "Loaded Configuration File
", и еще одна вещь, посмотрите на" Сканировать этот каталог на наличие дополнительных файлов .ini "в моей системе RHEL, он показывает, что у меня /etc/php.d/
где находится больше файлов php.ini (включая sqlite3.ini).
Удостоверься что /etc/php.ini
появился в Загруженный файл конфигурации линия.
--without-sqlite
не говорите о том, установлена ли библиотека sqlite или нет. Поиск sqlite
в phpinfo()
страницу, чтобы узнать, есть ли у вас Библиотека SQLite включен.
В вашем коде неправильно указано имя расширения, поэтому, конечно, он не работает. Правильное имя расширения, как мы видим, sqlite3
.
if (!extension_loaded('SQLite')...
Тем не мение.
Сборка PHP RPM фактически перестраивает PHP четыре раза. Он создается один раз без включенных расширений для загрузки в Apache как mod_php
, а затем построены снова со всеми расширениями как с объектами общей памяти. И сборка для командной строки PHP, и четвертая сборка, о назначении которой я сейчас забыл.
Итак, что происходит: сборки без встроенных расширений связаны с расширениями, созданными из другой сборки. Таким образом, PHP может сказать, что он был настроен без каких-либо расширений, но все же сможет их использовать.