安装imagick扩展中出现了segmention fault解决的过程

公司要求图片存自己服务器,压缩自然不可避免,找了一个基于imagick扩展的工具包写了压缩功能,在测试服上运行完全没问题,但是到了正式服就爆了segmention fault,虽然压缩功能也都正常跑完了,这种段错误看上去就觉得不能忍,找来找去不知道原因,比较了两个服务器环境,没头绪。重新安装了扩展,也是不行,苦搜若久终于发现了一个https://stackoverflow.com/questions/8281489/segmentation-fault-running-gearman-php-from-the-command-line,里面解决的办法就是用dmesg工具。

于是也去运行了一下dmesg,出现了如下信息

php[10081]: segfault at 36d0a09bc6 ip 00000036d0a09bc6 sp 00007f0646269dc8 error 14
php[10080]: segfault at 36d0a09bc6 ip 00000036d0a09bc6 sp 00007f0646c6adc8 error 14 in libfreetype.so.6.3.22[36d1a00000+98000]
php[10082]: segfault at 36d0a09bc6 ip 00000036d0a09bc6 sp 00007f0645868dc8 error 14 in libfreetype.so.6.3.22[36d1a00000+98000]
 in libfreetype.so.6.3.22[36d1a00000+98000]
php[13886]: segfault at 36d0a09bc2 ip 00000036d0a09bc2 sp 00007f1e5386adc8 error 14 in libfreetype.so.6.3.22[36d1a00000+98000]
php[13888]: segfault at 36d0a09bb8 ip 00000036d0a09bb8 sp 00007f1e52468dc8 error 14
php[13887]: segfault at 36d0a09bb8 ip 00000036d0a09bb8 sp 00007f1e52e69dc8 error 14
 in libfreetype.so.6.3.22[36d1a00000+98000]
 in libfreetype.so.6.3.22[36d1a00000+98000]
php[25639]: segfault at 36d0a09bc2 ip 00000036d0a09bc2 sp 00007f9077a69dc8 error 14
php[25638]: segfault at 36d0a09bc2 ip 00000036d0a09bc2 sp 00007f907846adc8 error 14
php[25640]: segfault at 36d0a09bc2 ip 00000036d0a09bc2 sp 00007f9077068dc8 error 14 in libfreetype.so.6.3.22[36d1a00000+98000] in libfreetype.so.6.3.22[36d1a00000+98000]

 in libfreetype.so.6.3.22[36d1a00000+98000]

从这些记录中可以看到关键词,libfreetype.so,然后继续搜了这个关键词,http://blog.csdn.net/haniyan/article/details/40516137尝试安装freetype

yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel

然后问题就解决了。

这里补充一下dmesg和freetype的相关知识:

dmesg: dmesg是一种程序,用于检测和控制内核环缓冲。程序用来助用户了解系统的启动信息。

freetype: FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。

所以imagick的安装是要依赖于freetype的,装的时候不要忘记装freetype。

转载于:https://my.oschina.net/zwyang/blog/1583304

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值