Эксперты помогите!
sqlite3.extension_dir = "c:/php/sqlite" установлена,
каталог и файл существуют,
права есть (echo is_readable("c:/php/sqlite/libSqliteIcu.dll"); возвращает 1)
$dbaa = new Sqlite3('oper.dat');
$r = $dbaa->loadExtension('libSqliteIcu.dll');
приводит к ошибке
Warning: SQLite3::loadExtension(): Unable to open extensions outside the defined directory in
подскажите где ещё порыть можно, что бы это всё заработало???
ЗЫ
php подключён к apache как cgi
ось Windows XP
1. lukamal - 11 Января, 2010 - 14:04:15 - перейти к сообщению
2. alpha_beta - 11 Января, 2010 - 14:07:44 - перейти к сообщению
В php.ini это расширение подключил?
3. lukamal - 11 Января, 2010 - 14:11:06 - перейти к сообщению
4. EuGen - 11 Января, 2010 - 14:14:17 - перейти к сообщению
$r = $dbaa->loadExtension('c:/php/sqlite/libSqliteIcu.dll');
?
?
5. alpha_beta - 11 Января, 2010 - 14:17:04 - перейти к сообщению
Пояндексил
http://i-novice[dot]net/sqlite-legkij-sql/
sqlite вообще с php5 идет в стандарте, то есть делать LoadExtension нафиг не надо.
Цитата:
Во-вторых, чтобы подключить php_sqlite3.dll в php.ini, нужно сначала подключить расширения php_pdo.dll и php_pdo_sqlite.dll. Именно сначала:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
Во-вторых, чтобы подключить php_sqlite3.dll в php.ini, нужно сначала подключить расширения php_pdo.dll и php_pdo_sqlite.dll. Именно сначала:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
http://i-novice[dot]net/sqlite-legkij-sql/
sqlite вообще с php5 идет в стандарте, то есть делать LoadExtension нафиг не надо.
6. JustUserR - 11 Января, 2010 - 15:04:20 - перейти к сообщению
lukamal А зависимсоти все учтены? Смотрите http://forum.php.su/topic.php?fo...30&topic=211 может это поможет
7. lukamal - 11 Января, 2010 - 15:50:34 - перейти к сообщению
Странная штука получается.... скачал
php-5.3.1-Win32-VC6-x86.zip
php-5.3.1-nts-Win32-VC9-x86.zip
с сайта http://windows.php.net/download, а в этих архивах нет php_pdo.dll
скачал php_pdo.dll
положил в папку со всеми dll
дальше в php.ini прописываем эту dll extension=php_pdo.dll
как написал alpha_beta
при запуске страницы получаем
PHP Startup: PDO: Unable to initializ module
Module compiled with module API=20050922
PHP compiled with module API=20090626
These options need to manch
программа DEPENDS.EXE
показывает, что у всех dll версия 5.3.1.0,
а у php_pdo.dll 5.1.2.2
насколько я понимаю это конфликт версий!!!
в гугле найти php_pdo.dll версии 5.3.1.0 не получается
или я не прав на счёт конфликта версий?
php-5.3.1-Win32-VC6-x86.zip
php-5.3.1-nts-Win32-VC9-x86.zip
с сайта http://windows.php.net/download, а в этих архивах нет php_pdo.dll
скачал php_pdo.dll
положил в папку со всеми dll
дальше в php.ini прописываем эту dll extension=php_pdo.dll
как написал alpha_beta
при запуске страницы получаем
PHP Startup: PDO: Unable to initializ module
Module compiled with module API=20050922
PHP compiled with module API=20090626
These options need to manch
программа DEPENDS.EXE
показывает, что у всех dll версия 5.3.1.0,
а у php_pdo.dll 5.1.2.2
насколько я понимаю это конфликт версий!!!
в гугле найти php_pdo.dll версии 5.3.1.0 не получается
или я не прав на счёт конфликта версий?
8. JustUserR - 11 Января, 2010 - 15:55:42 - перейти к сообщению
lukamal пишет:
Конфликт версий весьма может быть - причем разница достаточно сильная - одни библиотеки 2005 года а другая 2009 года (См выше в зависимостях)
Или я не прав на счёт конфликта версий?
9. lukamal - 11 Января, 2010 - 15:59:20 - перейти к сообщению
JustUserR пишет:
Конфликт версий весьма может быть - причем разница достаточно сильная - одни библиотеки 2005 года а другая 2009 года (См выше в зависимостях)
при открытии php_pdo.dll в DEPENDS.EXE жёлтых круглешков не наблюдается!!!
10. Champion - 11 Января, 2010 - 16:06:07 - перейти к сообщению
Видимо, он на совместимость версий не смотрит. Но получается, надо искать более новую php_pdo.dll
11. JustUserR - 11 Января, 2010 - 16:32:03 - перейти к сообщению
Champion пишет:
Видимо, он на совместимость версий не смотрит. Но получается, надо искать более новую php_pdo.dll
lukamal пишет:
В гугле найти php_pdo.dll версии 5.3.1.0 не получается
У меня версия 5.2.4.4 - попробуйте может подойдет (Все-таки это лучше чем 5.1.*)
12. Hunter - 11 Января, 2010 - 18:25:04 - перейти к сообщению
JustUserR пишет:
У меня версия 5.2.4.4 - попробуйте может подойдет (Все-таки это лучше чем 5.1.*)
вряд ли подойдет, у меня была подобная проблема с библиотеками php_curl.dll и php4ts.dll , разница в версиях была минимальной, не пошло...
13. lukamal - 11 Января, 2010 - 18:54:15 - перейти к сообщению
http://bugs.php[dot]net/47354 вот из этого можно сделать вывод, что php_pdo.dll включена в php 5.3.1 и не нужна как дополнительный компонент.
phpinfo()
выводит
PDO drivers mssql, mysql, odbc, pgsql, sqlite, sqlite2
думаю можно вернуться к первому вопросу!!
phpinfo()
выводит
PDO drivers mssql, mysql, odbc, pgsql, sqlite, sqlite2
думаю можно вернуться к первому вопросу!!
14. JustUserR - 12 Января, 2010 - 21:58:32 - перейти к сообщению
lukamal пишет:
Не подскажите в чем именно заключается первый вопрос - в том что не загружается динамическая библиотека libSqliteIcu.dll?Думаю можно вернуться к первому вопросу!!
Если да то там выдается очень интересное сообщение об ошибке Unable to open extensions outside the defined directory - то есть нельзя загружить модуль за пределами определенной папки - может попробовать перенести эту dll в папку со всеми остальными и подключить?
PS И кстати в приведенном вами списке библиотек Sqlite3 вроде бы отсутствует
15. lukamal - 12 Января, 2010 - 23:07:27 - перейти к сообщению
JustUserR пишет:
Не подскажите в чем именно заключается первый вопрос - в том что не загружается динамическая библиотека libSqliteIcu.dll?
Если да то там выдается очень интересное сообщение об ошибке Unable to open extensions outside the defined directory - то есть нельзя загружить модуль за пределами определенной папки - может попробовать перенести эту dll в папку со всеми остальными и подключить?
PS И кстати в приведенном вами списке библиотек Sqlite3 вроде бы отсутствует
Если да то там выдается очень интересное сообщение об ошибке Unable to open extensions outside the defined directory - то есть нельзя загружить модуль за пределами определенной папки - может попробовать перенести эту dll в папку со всеми остальными и подключить?
PS И кстати в приведенном вами списке библиотек Sqlite3 вроде бы отсутствует
libSqliteIcu.dll пробовал все возможные варианты, но результат то же!!!
Может проще рассказать зачем это надо:
1. Имеется база данных sqlite3
2. из нее необходимо делать select * form tblica where stolbec like '%что-нибудь%'
3. что-нибудь пишется кирилицей
но sqlite3 не поддерживает кирилицу (запрос возвращает не верные данные) collation russian установить не возможно
нашёл в и-те библиотеку libSqliteIcu[dot]dll если работать с ней через консоль sqlite3.exe, то в консоли русский collaion выставляется, по этому и пытаюсь загрузит эту dll, чтобы спокойно работать в sqlite3 с кирилицей.
как это выглядит в консоли (Отобразить)
php.ini (И кстати в приведенном вами списке библиотек Sqlite3 вроде бы отсутствует) (Отобразить)
Надеюсь понятно объяснил.
Работать нужно только с sqlite3.
Может после выше изложенного будут какие-нибудь мысли???