Vodoleyii
Гость
|
|
« : 24-05-2010 03:54 » |
|
У меня стоят Апач 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, хотя уже вроде делал это. В общем, не знаю, что тут может быть... Может, и руки у меня кривые Заранее благодарен
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #1 : 24-05-2010 05:42 » |
|
Vodoleyii, библиотеки должны лежать в ext в директории PHP. Фишка в расположении конфига php.ini - положи его в C:\WINDOWS. После этого надо рестартовать Апач. Проверить, какие расширения установлены:
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Vodoleyii
Гость
|
|
« Ответ #2 : 24-05-2010 11:29 » |
|
Расширения лежат именно в "php/ext", php.ini - в с:\windows. phpinfo() постоянно тыкаю, но там и намека не нашел на расширения:(... И еще: в php.ini меняю extension_dir, перезапускаю сервер, да даже уже перезагружался, а phpinfo() выдает старые значения. У меня такое ощущение, что php.ini как-то плохо читается сервером.... Короче говоря, пока я в том же тупике.
|
|
|
Записан
|
|
|
|
Vodoleyii
Гость
|
|
« Ответ #3 : 24-05-2010 12:07 » |
|
в phpinfo() есть раздел Additional Modules. Предполагаю, что именно там и должны замаячить мои расширения, но сейчас раздел этот абсолютно пуст.
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #4 : 24-05-2010 12:30 » |
|
Vodoleyii, Проверь нет ли у тебя на диске других php.ini. По идее файлы должны искаться в таком порядке: сначала в каталоге запуска программы (Apache или PHP), а потом в каталогах %Path% по порядку вхождения
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #5 : 24-05-2010 12:59 » |
|
http://www.php.net/manual/en/configuration.file.phpIf php-SAPI.ini exists (where SAPI is used SAPI, so the filename is e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Vodoleyii
Гость
|
|
« Ответ #6 : 24-05-2010 13:23 » |
|
Да, у меня php.ini были и в каталоге с Апачем и в c:\windows. Все сделал, все исправил. sqlite заработал, но sqlite3 так и не подключается. Читал я и искал много про подключение sqlite3, буду читать и искать дальше дальше:)...
|
|
|
Записан
|
|
|
|
Vodoleyii
Гость
|
|
« Ответ #7 : 24-05-2010 14:02 » |
|
В 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 появилась возможность создавать базы третьей версии. Подключил, но коряво:( Если на работе это не скажется, готов не обращать внимание. но все равно хотелось бы нормально подключить все. Спасибо всем, кто поучаствовал в решении моей проблемы. Решена на 80% - так могу сказать.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #8 : 24-05-2010 15:57 » |
|
The SQLite3 extension is enabled by default as of PHP 5.3.0. Попробуй поставить PHP 5.3 — сейчас доступна версия 5.3.2.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Vodoleyii
Гость
|
|
« Ответ #9 : 24-05-2010 16:56 » |
|
Попробовал php 3.2. Там нет библиотек, с помощью которых php к апачу привязывается: phpapache2_2.dll, еще какие-то. Я их из из 5.2 взял. Связка php+apache заработала! PHP 5.3, в котором есть sqlite3... И вот этот php не подключает мне sqlite. После долгой возни в php 5.2 я смог подключать sqlite 2.8, и sqlitemanager мог создавать базы третьей версии (хотя любой код php, касающий sqlite3, не работал). В php 5.3 все глухо. Примечательна разница между php 5.2 и 5.3: в пять.два файлы привязки к апачу сразу идут. Что касается расширений: в 5.3 есть sqlite3.dll, но нет php_pdo.dll, поэтому в этой версии я не смог сделать даже так, чтобы в phpinfo() у меня pdo драйверы загрузились нормально. Php 5.2 привязывается к апачу, как родной (кстати, в нем нет файла php5.dll, в отличие от версии 5.3), но тут нет php_sqlite3.dll. И у меня один вопрос: что за нафиг?... Все-таки настроить sqlite3 я еще не отчаиваюсь;) Читал всякие форумы: там говорится о 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-кодировке...
|
|
« Последнее редактирование: 24-05-2010 17:17 от Vodoleyii »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #10 : 24-05-2010 17:45 » |
|
Скачал php-5.3.2-Win32-VC9-x86. Распаковал. Вижу: php5apache2_2.dll php5apache2_2_filter.dll ext/php_sqlite3.dll. Полагаю дело в руках и в конфигах. Снеси старый PHP перед установкой нового!
<?php
header('Content-Type: text/plain; charset-utf-8'); var_dump(SQLite3::version());
?>
array(2) { ["versionString"]=> string(6) "3.6.22" ["versionNumber"]=> int(3006022) }
|
|
« Последнее редактирование: 24-05-2010 18:51 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Vodoleyii
Гость
|
|
« Ответ #11 : 25-05-2010 05:28 » |
|
Я и сам грешу на свое недопонимание:) Сейчас попробую все сделать;) Нашел php 5.3 с библиотеками для апача. Но во всем остальном он ведет себя, как и та версия 5.3.... Там есть php_pdo_sqlite3.dll и php_sqlite3.dll. но работать они не хотят. В логах апача читаю, что эти два модуля не удалось загрузить. В phpinfo() написано: PDO drivers no value...про sqlite3 нет ни слова. У меня вопрос, что прописано в php.ini? У меня: extension_dir = "ext" extension=php_pdo_sqlite.dll extension=php_sqlite3.dll там есть еще отдельный раздел: [sqlite3] ;sqlite3.extension_dir = но с ним я тоже что только ни делал.
RXL, пишу твой код - не работает.
У меня попутно родившийся вопрос: array(2) { ["versionString"]=> string(6) "3.6.22" ["versionNumber"]=> int(3006022) } это ты в IDE каком-то проверяешь php-код? или где?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #12 : 25-05-2010 05:33 » |
|
Во-первых, пропиши путь к php/bin в переменной окружения Path (Мой компьютер -> Свойства -> дополнительно -> [Переменные среды]). Во-вторых, положи конфиг php.ini в подходящее место. Я кладу в C:\WINDOWS. В-третьих, пропиши в конфиге Апача загрузку модуля php5apache2_2.dll с полным путем и укажи его обработчиком расширения php. После этого перегрузи Апач.
|
|
« Последнее редактирование: 25-05-2010 05:36 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
baldr
|
|
« Ответ #13 : 25-05-2010 06:38 » |
|
Первое, что я делаю при установке PHP на винде (установка=копирование папки из архива) - это копирую файлы libeay32.dll и ssleay32.dll (ну еще libmysql.dll) в папку c:\windows\system32 После этого уже можно настраивать остальное. По-другому не работает
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
RXL
|
|
« Ответ #14 : 25-05-2010 07:12 » |
|
baldr, достаточно прописать путь к ним в PATH — я это выше указал первым пунктом. Замусоривать системные директории не есть гуд.
Все требования к установке хорошо описаны в документации, включая последовательность поиска библиотек и конфигов.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
baldr
|
|
« Ответ #15 : 25-05-2010 07:19 » |
|
RXL, в моем случае почему-то не достаточно. Логичное решение, но не работает.
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
Vodoleyii
Гость
|
|
« Ответ #16 : 27-05-2010 01:36 » |
|
Все сделал, заработало:) прописал в path путь к папке с php, и прописал в php.ini в разделе extension_dir полный путь к папке "...php\ext" Может быть, кому-нибудь поможет, как я все-таки сделал этот sqlite3: - поставил апач (я думаю: тут вопрососв и расхождений в действиях быть не должно)
- с сайта php скачал php 5.3.2 VC9 x86 Thread Safe
- в файле конфига апача - httpd.conf - у меня прописано:
LoadModule php5_module "C:/Program Files/Apache Software Foundation/Apache2.2/PHP/php5apache2_2.dll" PHPiniDir "C:/WINDOWS/" В разделе <IfModule mime_module> AddType application/x-httpd-php .php АddType application/x-httpd-php-source .phps это тоже все стандартная процедура подключения php к апачу, после установки апача и php сразу это делается.
перехожу к sqlite3 - прописал в PATH полный путь к папке, где установлен php (у меня php в папке с апачем лежит); php.ini закинут был в c:\windows
- в самом php.ini (привожу свои пути - просто как пример):
extension_dir = "c:\Program Files\Apache Software Foundation\Apache2.2\PHP\ext\" extension=php_pdo_sqlite.dll extension=php_sqlite3.dll
Обратите внимание: слеши в путях к папкам разные в php.ini и httpd.conf. Возможно, наклон можно и менять и все не столь строго, но не уверен. После того, как я прописал в path папку php, phpinfo() стал выдавать много подключенных расширений, включая и mysql, а раньше не подгружал. Всех благодарю за участие! RXL, тебе отдельное спасибо;) Проблема решена на 100%! Не могу не сказать, что именно на этом форуме я нашел более всего отклика, больше, чем даже на php форумах.
|
|
« Последнее редактирование: 27-05-2010 01:41 от Vodoleyii »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #17 : 27-05-2010 05:54 » |
|
Vodoleyii,
1. php_pdo_sqlite.dll не нужен, если ты не используешь интерфейс PDO.
2. В PATH прописывается не путь к php, а к php\bin.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Vodoleyii
Гость
|
|
« Ответ #18 : 28-05-2010 16:46 » |
|
Насчет pdo - понЯл;) А насчет php\bin - нет у меня папки bin в php....
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #19 : 29-05-2010 09:48 » |
|
Это странно, т.к. в дистрибутиве на php.net она есть.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|