Назад | Перейти на главную страницу

Изменения, внесенные в cli php.ini, не вступают в силу

у меня есть два php.ini файлы -

Я могу использовать PHP Mailparse расширение после добавления строки extension=mailparse.so в /opt/lampp/etc/php.ini и перезапуск lampp.

Но я не могу загрузить то же самое в случае командной строки -

получение PHP Fatal error: Call to undefined function mailparse_msg_create() in ...

mailparse_msg_create () является частью Mailparse расширение.

Я попытался повторно войти в систему с пользователем после внесения изменений и даже перезапустить систему. Что нужно сделать, чтобы изменение вступило в силу.

Обновить

Я проверил это php -i | grep 'Configuration File' дает

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/mailparse.so' - /usr/lib/php/modules/mailparse.so: cannot open shared object file: No such file or directory in Unknown on line 0
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

Обновление 2
Я скопировал mailparse.so из /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626 и положи это в /usr/lib/php/modules. я добавил extension=mailparse.so к /etc/php.ini также. Но он все еще показывал это предупреждение

PHP Warning:  PHP Startup: Unable to load dynamic library ...  

Как сказал Лекенштейн, я сделал

ldd /usr/lib/php/modules/mailparse.so

и получил

ldd: warning: you do not have execution permission for /usr/lib/php/modules/mailparse.so'

Я дал разрешение на выполнение. затем

ldd /usr/lib/php/modules/mailparse.so

показал

linux-gate.so.1 => (0x00110000) libc.so.6 => /lib/libc.so.6 (0x0011d000) /lib/ld-linux.so.2 (0x003aa000)

что выглядит нормально. БУ сейчас, работаю php команда говорит

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/mailparse.so' - /usr/lib/php/modules/mailparse.so: undefined symbol: mbfl_name2no_encoding in Unknown on line 0

Оба php.ini содержат разные extension_dir настройка /etc/php.ini кажется, установил это на /usr/lib/php/modules и LAMPP устанавливает его на /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626.

Чтобы Mailparse работал с LAMPP, вам нужно скопировать mailparse.so в /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626 и добавить extension=mailparse.so к /opt/lampp/etc/php.ini также. Поскольку PHP загружает файл php.ini при каждом запуске, перезагружать компьютер не нужно.

Вы установили расширение там, где его ожидает версия PHP для командной строки?

Проверьте extension_dir в вашем /etc/php.ini, чтобы увидеть, где он ожидает найти расширения и установить там расширение, или укажите его в каталоге расширений PHP lampp (при условии, что это совместимая версия PHP).