控制台运行php报错 undefined symbol: gdImageCreateFromJpeg in Unknown on line 0 解决方法

之前把homestead中的nginx替换为openresty后就发现php控制台运行时会报一个错:

undefined symbol: gdImageCreateFromJpeg in Unknown on line 0
查了百度,有一个英文帖子提供了解决方案
原贴如下
Problem:
Executing `php` prints the folowing error:|
PHP Warning: PHP Startup: Unable to load dynamic library 
'/usr/lib/php5/20060613+lfs/gd.so' - /usr/lib/php5/20060613+lfs/gd.so: 
undefined symbol: gdImageCreateFromJpeg in Unknown on line 0

more specifically when processing a php page it displays the folowing:
|*Fatal error*: Call to undefined function imageCreate() 
in */home/irc/website/makeworldmap.php* on line *13*
|
Answer:
There's something wrong with gd itself,|

|/usr/lib/php5/20060613+lfs/gd.so is different from one of a clean install
It actually loads the wrong libgd, which can be found by typing `locate libgd`
We find other versions of libgd in /usr/local/lib/:
libgd.so, libgd.so.2, libgd.so.2.0.0

do the folowing things:
sudo mkdir libgd.backup
sudo mv libgd.so* libgd.backup
restart apache: sudo /etc/init.d/apache2 restart|

大致说的是这个是gd库自己的问题
因为gd.so安装的有问题,先运行
locate libgd
发现homestead中有好多libgd的相关文件但我们要找的是libgd.so开头的
所以运行
locate libgd.so
查到在/usr/local/lib目录下有几个libgd.so开关的文件,在/usr/local/lib目录下面建一个gd_backup目录
然后把这些文件剪切到gd_backup目录重启nginx
mkdir gd_backup
mv libgd.* gd_backup
重新运行php没有问题了

 个人认为这个问题是gd.so多次安装且安装的版本不一样,导致php加载

转载于:https://www.cnblogs.com/tiktok/p/9647863.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值