sudo pecl install mailparse
结束于:
Build process completed successfully
Installing '/usr/lib64/php/5.5/modules/mailparse.so'
install ok: channel://pecl.php.net/mailparse-2.1.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=mailparse.so" to php.ini
将extension=mailparse.so
添加到php.ini
的Dynamic Extensions
部分后,运行php
打印这个:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/5.5/modules/mailparse.so' -/usr/lib64/php/5.5/modules/mailparse.so: undefined symbol :第 0 行未知中的 mbfl_convert_filter_flush
最佳答案
解决方案
mailparse
必须在mbstring
之后加载,mbstring
由/etc/php-5.5.d/mbstring加载。 ini
在php.ini
之后读取。
仅仅将 mailparse.ini
添加到 php-5.5.d
是行不通的,因为 ini
文件是按字母顺序加载的;尽管您可以将其命名为 zz_mailparse.ini
。
在仅(原文如此)php.ini
中加载两个扩展会导致:
PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
PHP Warning: Module 'mailparse' already loaded in Unknown on line 0
那个是个谜。
证明
$ echo '<?php echo extension_loaded("mailparse") ? "mailparse loaded\n" : "mailparse not loaded\n";' > ~/is_mailparse_loaded.php
$ php ~/is_mailparse_loaded.php
mailparse loaded
$ pwd
/etc/php-5.5.d
$ sudo mv zz_mailparse.ini mailparse.ini
$ php ~/is_mailparse_loaded.php
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mailparse.so' - /usr/lib64/php/5.5/modules/mailparse.so: undefined symbol: mbfl_convert_filter_flush in Unknown on line 0
mailparse not loaded
$ sudo mv mailparse.ini zz_mailparse.ini
$ php ~/is_mailparse_loaded.php
mailparse loaded
$
关于PHP mailparse.so 错误 - undefined symbol mbfl_convert_filter_flush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21127052/