Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подключение sqlite3 в php
Форумы портала PHP.SU » PHP » PEAR и PECL » Подключение sqlite3 в php

Страниц (1): [1]
 

1. Vooleyy - 24 Мая, 2010 - 01:02:48 - перейти к сообщению
У меня стоят Апач 2.2.15 и php 5.2.13(из zip-архива распакованный). В php.ini прописал все расширения для sqlite3: php_pdo.dll, php_pdo_sqlite.dll, php_pdo_sqlite_external.dll, php_sqlite3.dll. Все файлы библиотек скачал и кинул в папку ext(в каталоге php). sqlite3.dll поместил и в папку с php, и в system32. Sqlite3 не подключается. Сам думаю, что куда-то не туда кидаю sqlite3.dll...или же php.ini куда-нибудь переместить, может в path в windows прописать надо папку с php.ini или sqlite3.dll, хотя уже вроде делал это. В общем, не знаю, что тут может быть... Может, и руки у меня кривыеУлыбка Заранее благодарен.
2. EuGen - 24 Мая, 2010 - 11:02:18 - перейти к сообщению
Посмотрите директиву каталога расширений (если не ошибаюсь, extension_dir) в php.ini и убедитесь, что файлы расширений находятся там.
Посмотрите так же логи веб-сервера - он должен сообщать что то или иное расширение загрузить не удалось.
Ну и, конечно же, после добавления модулей нужно раскомментировать соответствующие строки в конфиге (то есть все в том же php.ini) и перезапустить веб-сервер.
3. Vooleyy - 24 Мая, 2010 - 14:06:53 - перейти к сообщению
Насчет логов сервера и extension_dir - советы ценные. Все подправил, прописал. Но эти четыре sqlite модуля так и не подключаются.
4. Vooleyy - 24 Мая, 2010 - 16:41:45 - перейти к сообщению
Подправил phpinidir в httpd.conf. модули подгружаются, но sqlite3 не хочетНедовольство, огорчение
В sqlitemanager'e могу создавать базы третьей версии, но в phpinfo() нет sqlite3 и sqlite3_libversion() выводит версию 2.8.... если мои базы полноценно третьей версии, то я могу закрыьт глаза на эту маленькую некоррекность в подключении и отображении, а если нет - то хотелось бы до конца все добить....
5. Ch_chov - 24 Мая, 2010 - 17:23:34 - перейти к сообщению
Для работы с третьей версией достаточно pdo и pdo_sqlite
6. Vooleyy - 24 Мая, 2010 - 20:01:38 - перейти к сообщению
Я немножко разобрался. в php.ini указал полный путь к папке расширений "php\ext". И вот чот вышло:
В phpinfo() не видится sqlite3... Единственный намек вот:
pdo_sqlite
PDO Driver for SQLite 3.x enabled
PECL Module version 1.0.1 $Id: pdo_sqlite.c 293036 2010-01-03 09:23:27Z sebastian $
SQLite Library 3.3.7undefined
sqlite3_libversion() выводит версию 2.8.17.
Однако в sqlitemanager'e появилась возможность создавать базы третьей версии.
Подключил, но корявоНедовольство, огорчение.... Любой код, связанный с sqlite, не работает. Предполагаю, что дело в sqlite3.dll. Он у меня есть, причем разных версий. Что с ним делать, куда его кинуть? кто-то говорит в c:\windows\system32, кто-то в директорию, где php лежит.
В логе сервера пишется: "Unable to load dynamic library 'c:\\Program Files\\Apache Software Foundation\\Apache2.2\\PHP\\ext\\php_sqlite3.dll'" и дальше в текст в hex-коировке...
7. EuGen - 24 Мая, 2010 - 21:46:37 - перейти к сообщению
Скорее всего, не найден не сам модуль а некоторые библиотеки, которые для его работы нужны.
Используйте depends.exe (поищите в google, например, где скачать) - откройте через него загружаемый модуль. Далее увидите список требуемых для его работы библиотек. Если напротив хотя бы одной из них Вы видите иконку со знаком вопроса - значит, этой требуемой библиотеки нет.
Возможно, на самом деле у Вас на машине она и есть, но не указана в путях системы. Попробуйте найти на своей машине требуемый файл и добавить его каталог командой path в путям системы. Если не удалось найти - видимо придется искать помощи в старом добром google
Когда все найдется, это может быть причиной неудачи загрузки - соответственно, модуль заработает.
(Не помню, вроде где-то здесь на форуме уже была подобная тема)
8. JustUserR - 25 Мая, 2010 - 12:02:48 - перейти к сообщению
Vooleyy пишет:
Что с ним делать, куда его кинуть? кто-то говорит в c:\windows\system32, кто-то в директорию, где php лежит.
В логе сервера пишется: "Unable to load dynamic library 'c:\\Program Files\\Apache Software Foundation\\Apache2.2\\PHP\\ext\\php_sqlite3.dll'" и дальше в текст в hex-коировке...
На самом деле любая подключаемая динамическая бибилиотека и ее комоненты зависимости могут располагаться в любой папке - главное чтобы include_path содержал ее в списке Также вероятно проблема может быть из-за пробелов в путях файлах или неправиьной трактовки кодировки с файловым пути - например из-за кодировки конфигурационного файла в котором указан include_path
9. Vooleyy - 27 Мая, 2010 - 04:49:58 - перейти к сообщению
Всем спасибо;) проблема решена!
Прописал в переменной окружения (path) путь к папке с php, а в php.ini в extension_dir прописал полный путь к папке php расширений: ext.
Еще замечание: в фалах настроек php(php.ini) и апача(httpd.conf) разные слеши: в первом - обратный слеш, а у апача - обычный.
10. JustUserR - 27 Мая, 2010 - 15:49:39 - перейти к сообщению
Vooleyy пишет:
Всем спасибо;) проблема решена!
Прописал в переменной окружения (path) путь к папке с php, а в php.ini в extension_dir прописал полный путь к папке php расширений: ext.
Пожалуйста! Как правило проблемы с подключением файлов и библиотек сводятся или к указанию абсолютных путей - или указания специальных директив или переменных окружения которые отвечают за местоположения размещаемого файла

 

Powered by ExBB FM 1.0 RC1