php5-mbstring === как заставить работать?

Привет всем.

SuSe Linux 10. Linux version 2.6.16.21-0.8-smp
php5 - PHP5 Core Files Installed Version 5.3.2-28.1
php5-mbstring - PHP5 Extension Module, Installed Version 5.3.2-28.1

Однако php5-mbstring не работает.
Команда php5 -m и phpinfo() не показывают что модуль инсталирован хотя ставил через Yast2 и он показывает что этот модуль стоит (Installed Version 5.3.2-28.1)???

Покажите /etc/php5/conf.d/mbstring.ini

В нем прописано вот так
extension=mbstring.so

Тут все нормально.

теперь rpm -ql php5-mbstring ?
на месте ли mbstring.so ?

Можно ли мне в понедельник дать ответ что команда выдаст
а то сервак на работе а я дома :slight_smile:

Ок, загляну сюда в понедельник :slight_smile:

Вот что вернул

rpm -ql php5-mbstring
/etc/php5/conf.d/mbstring.ini
/usr/lib64/php5/extensions/mbstring.so

А апачи ругаеться вот на это

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/extensions/mbstring.so' - /usr/lib/php5/extensions/mbstring.so: cannot open shared object file: No such file or directory in Unknown on line 0

А где в апачи настроить путь к extensions? В Yast2 это возможно.?

Вот результат

rpm -ql php5-mbstring
/etc/php5/conf.d/mbstring.ini
/usr/lib64/php5/extensions/mbstring.so

Однако Apche ругается что

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/extensions/mbstring.so' 
- /usr/lib/php5/extensions/mbstring.so: cannot open shared object file: 
No such file or directory in Unknown on line 0

А как правильно прописать путь к расширениям? Это в Yast делать?

а почему у вас пакет php5-mbstring x86_64 сборки, а apache просит 32 битную версию? как то подозрительно это.

Apache я ставил через Yast и указал вот такие урл
download.opensuse.org/repositories/Apache/SLE_10/
download.opensuse.org/repositories/Apache:/Modules/SLE_10/
download.opensuse.org/repositories/server:/php/server_apache_SLE_10/
download.opensuse.org/repositories/Apache:/Modules/Apache_SLE_10/

Я их нашел тут на сайте
Ну Яст и ставил 64 версии, хот я его просил ставь нормальные i586

Но у меня если честно почти все пакеты версии х86_64. Так что я думаю что тут все в норме.

А как прописать путь к расширениям типа в php.ini так

extension_dir = "/usr/lib64/php5/extensions/"

да

# grep extension_dir /etc/php5/apache2/php.ini
extension_dir = /usr/lib64/php5/extensions

Итого я установил php.ini

grep extension_dir /etc/php5/apache2/php.ini
extension_dir = /usr/lib64/php5/extensions

После чего у меня пошли новіе ошибки в Apche error_log

PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib64/php5/extensions/mbstring.so' - /usr/lib64/php5/extensions/mbstring.so:
wrong ELF class: ELFCLASS64 in Unknown on line 0

Что вполне естественно, апач-то с пхп зачем-то 32-битные, а вы ему 64-битную библиотеку подсовываете, вот он и плюётся (и правильно, в общем-то, делает)
У вас есть какие-то веские причины использовать пакеты разных архитектур для своей задачи? Я в этом сильно сомневаюсь. Чем плодить “костыли” в системе, лучше разберитесь в себе :wink:

а почему вы решили апач-то с пхп 32-битные
они у меня 64-битные :slight_smile:

rpm -q --queryformat %{NAME}-%{VERSION}-%{ARCH} apache2 php5

ЗАРАБОТАЛО
Итого переустановил обратно Apche, проконтролировал чтобы была установлена версия i586
ВСЕ РАБОТАЕТ
СПАСИБО