PHP 5.0.2 - не грузятся модули

CM

Guest
PHP 5.0.2 - не грузятся модули

Странная история... Не подгружаются модули в PHP 5.0.2, если их указывать в php.ini. А вот из скрипта через dl() - без проблем.

RedHat Fedora Core 2, но многое пересобрано из свежих исходников, PHP5.0.2, Apache 1.3.33 + modssl.

Вот что написано в /etc/php.ini (выдержки):

Код:
error_reporting  =  E_ALL
display_errors = On
display_startup_errors = On
error_log = /usr/local/apache/logs/php_error.log
extension_dir = "/usr/local/php/ext"

extension=exif.so
extension=gd.so
extesnion=iconv.so (и т.д.)

ls /usr/local/php/ext  :
bcmath.so  calendar.so  curl.so  fileinfo.so  gettext.so  imagick.so  mcrypt.so  ncurses.so  pdf.so     xmlrpc.so  zlib.so
bz2.so     cpdf.so      exif.so  gd.so        iconv.so    imap.so     mhash.so   openssl.so  sqlite.so  xsl.so
После запуска Apache в списке загруженных модулей - ни одного из перечисленных в extension в php.ini, только то, что было вкомпилено в lbphp5.so.

При этом любой из этих модулей легко загружается вручную через dl().

В логах апача, /var/log/messages и /usr/local/apache/logs/php_error.log - абсолютная тишина, все стартует и отрабатывает без ошибок.

Компиляю Apache/PHP ДАЛЕКО не первый раз, на разных машинах и версиях, уже года три как, но такое вижу первый раз. В чем дело - не пойму в упор. Может у кого-то есть хоть какие-то идеи или наводки?

P.S. Кстати, заметил, что PHP 5.0.2 любит грохать apache в segmentation fault при подключенном gettext.so. Правда не могу понять (да и не особо охота) в каком именно месте и почему.
 

CM

Guest
Юморист...

Хорошая шутка, я оценил... :-/

Ты мне предлагаешь закомпилять в PHP все модули абсолютно? Или перекомпилать его каждый раз, когда я решу добавить новый модуль? Сам-то понял, что написал?

P.S. Ты серьезно думаешь, что я не умею пользоваться configure?
 

crocodile2u

http://vbolshov.org.ru
Я только предложил вариант решения. Мне, например, не так уж часто бывают нужны новые модули, если что, могу и пересобрать. За предложение "курить ./configure" извини :)
 

CM

Guest
Позорище...

Господи, какое же я позорище... :mad:
Лоханулся просто позорно... Но зато писание в конфу стимулирует решение проблемы :)

Все, проблема найдена и решена. Но ошибка была настолько позорная, что даже стыдно в конфу выкладывать... :(
 

CM

Guest
Ты знал! Ты знал!

Точно так! :)
Потому как я как последний ламер перепутал и написал при компиляции --with-config-file-path=/etc/php.ini вместо просто --with-config-file-path=/etc

Лох педальный! :)
 

Profic

just Profic (PHP5 BetaTeam)
Лично мне все стало понятно по описанию, что что-то не то с конфигом :)
 

YoshiToshi

Guest
Привет! А вот схожая проблема, но на винде.

Что есть: WinXP pro + PHP 5.0.3 + Apache 2.0.46 + Mysql 4.0.21 + ActivePerl 5.8.4

В папке windows лежит файл php.ini.
Пытаюсь добавлять модули (в частности, mmcache.dll): кладу модуль в папку php\ext,
прописываю extension=mmcache.dll, перезапускаю апач.
получаю 2 одинаковых сообщения:
---
PHP startup: Unable to load dynamic library 'c:\internet\soft\php5\ext\mmcache.dll' - Не найден указанный модуль.
---
При этом папка модулей указана правильно. Как будто php не видит свои модули. Клал в другую папку, переписывал путь до папки модулей. В сообщении об ошибке путь менялся, указывал на реально существующий файл, но php его не видел.
Был вариант, что модули не идут под эту версию php. Но точно такая же ошибка выдается, если попытаться подключить модули, которые идут вместе с этой версией php (php_oracle, php_openssl и другие...). При этом, например, модуль gd2 - подключается и отключается свободно.

никак не могу разобраться, в чем же дело...
 

tony2001

TeaM PHPClub
>php_oracle
у тебя стоит клиент Оракла?

>php_openssl
ты скопировал все dlls в windows\system32 ?

>PHP startup: Unable to load dynamic library 'c:\internet\soft\php5\ext\mmcache.dll' - Не найден указанный модуль.
на сайте mmcache написано, что dll поддерживает 5.0.3?

вопросы риторические, я знаю, что нет.
 

YoshiToshi

Guest
Автор оригинала: tony2001
>php_oracle
у тебя стоит клиент Оракла?

нет, я перепробовал все модули, идущие с php. история повторяется со всеми. а модуль оракла должен загружаться в память в любом случае, не зависимо от того, есть у меня оракл реально или нет... я ведь могу удалить mysql сервис и при этом загружать модуль поддержки mysql...

>php_openssl
ты скопировал все dlls в windows\system32 ?

опять же, опенссл - просто пример... хотя его тоже хочется поюзать... а разве их надо копировать в sys32? :confused:

>PHP startup: Unable to load dynamic library 'c:\internet\soft\php5\ext\mmcache.dll' - Не найден указанный модуль.
на сайте mmcache написано, что dll поддерживает 5.0.3?

нет, он поддерживает 5.0. ставил php 5.0. та же фигня. да...
смущает одно: модули, идущие с php не подключаются :(

вопросы риторические, я знаю, что нет.
 

tony2001

TeaM PHPClub
>а модуль оракла должен загружаться в память в любом случае, не зависимо от того,
>есть у меня оракл реально или нет... я ведь могу удалить mysql сервис и при этом
>загружать модуль поддержки mysql...
oracle, oci8, sybase, interbase,openssl, ldap etc. не работают без сторонних библиотек.
для openssl & ldap нужны ssleay, для других - библиотеки от соотв-щих клиентов.
библиотека от mysql встроена в PHP до 5-й версии, в 5-ке она идет отдельной библиотекой.

>а разве их надо копировать в sys32?
это написано в мануале.
все dll из директории dlls надо скопировать там, где они буду видны винде.
обычно копируют в system32.

>нет, он поддерживает 5.0. ставил php 5.0. та же фигня. да...
5.0 & 5.0.3 - суть разные вещи.
бинарники модулей собираются под конкретную версию.

>смущает одно: модули, идущие с php не подключаются
начни с чтения мануала.
 
Сверху