Проблема подключения к базам данных SQLite 3 и аналогичные проблемы рассматриваются и обсуждаются в сообщении на форуме под названием «Подключение к базе данных SQLite3 из PHP 5.25» Это может ответить на некоторые из ваших запросов.
Последняя сборка SQLite скомпилирована в PHP5 и включена через PDO.
Показывается в PHPINFO.PHP как
2.0-dev "$ Id: sqlite.c, v 1.166.2.13.2.12 2008/12/31 11:17:44 Себастьян Экспресс $"
Звучит больше как проблема с тестовым кодом. Вы перепроверили, запустив систему SQLite со стандартным Apache и той же версией PHP? Каковы результаты phpinfo()
и т. Д.
Последние дистрибутивы MicroApache поставляются с гостевой книгой по PHP / SQLite в качестве демонстрации / теста. Это не работает?
Если подумать, вы, возможно, не заметили, что есть дистрибутив SQLite. Почему бы не зайти на сайт и не проверить другие версии (просто распаковать и запустить).
Как всегда, я отмечаю, что MicroApache не предназначен для использования на общедоступном веб-сервере, не обращая особого внимания на конфигурацию безопасности. Он был разработан как способ локального обмена информацией с помощью дискеты или USB-накопителя. Но затвердеть достаточно просто.
Я уверен, что вы знаете, что разработчик SQLite переименовал ряд функций с появлением SQLite3, включая функцию open - (см. Здесь: Введение в интерфейс SQLite C / C ++ ) - Я не уверен, как это было обработано разработчиками PHP, включая эту кодовую базу в PHP. На странице, на которую мы ссылаемся выше, мы предлагаем открыть базы данных PHp3 «как есть» с помощью правильного кода PHP.
Смешивать библиотеки DLL из разных дистрибутивов PHP не рекомендуется. Я не рекомендую использовать дистрибутив MicroApache, кроме как «как есть». Добавление или смешивание библиотек DLL из разных версий PHP и т. Д. В MicroApache может привести к серьезным ошибкам или проблемам безопасности.
На сегодняшний день SQLite с MicroApache практически не интересовался или вообще не интересовался, поэтому на самом деле я не слишком углублялся в него, кроме как для проверки работоспособности.
Я не слишком полагаюсь на то, что сообщается phpinfo()
.
Возможно, вы можете обновить информацию, чтобы подтвердить, является ли указанная версия точной.
Обновление
У меня было время немного изучить и обсудить php5-sqlite3 в списке рассылки Mac OS Forge ответит на вашу проблему.
Реализация PHP является частичной и плохо документированной. Некоторые вызовы процедурных функций SQLite3 предоставляются только объектно-ориентированной иерархией. Процедурный API предлагает только возможность открывать БД SQLite 2, так что вы застряли с использованием объектов по внешнему виду.
Существует также расширение PECL, php-sqlite3, которое было
разработано в течение 2008 года, в настоящее время в
версия 0.6. Это то, что
Порт php5-sqlite3 устанавливается. Но это
не предоставляет sqlite3_open
Функция, которую вы ищете. Скорее это
дает вам объектно-ориентированный интерфейс
основанный на трех классах: SQLite3,
SQLite3Stmt и SQLite3Result. это
описанный здесь, довольно не полностью,
особенно установка
инструкции полностью отсутствуют:
Надеюсь, вы сможете поиграть с этими дистрибутивами и решить свои проблемы.
Существует SQLite3.DLL, включенный в дистрибутив в качестве любезности, к которому можно получить доступ непосредственно из VB5 / 6 или любого совместимого языка, который может вызывать DLL.
Это был отдельный проект, на который я смотрел некоторое время назад. Это было сделано в MSVC путем редактирования исходного кода. Эта DLL не совместима с PHP / PDO, но может использоваться через интерфейс CGI. Альтернативно, исходная библиотека SQLite 3 может быть получена и использована через Delphi и т. Д.