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:mbfl_convert_filter_flush in Unknown on第0行
解
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 $
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。