у меня есть два php.ini
файлы -
/etc/php.ini
который загружает в случае cli /opt/lampp/etc/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).