一个系统本来在php5.6的服务器上,今天升级服务器,顺便把php也升级了,升级后就悲催了,无法生成缩略图了。
问题就是:Call to undefined function imagecreatefromjpeg()``
然后phpinfo查看,没有jpeg的扩展
百度了好多都是这样的:
先下载扩展包
wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
安装
tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=xxxx #这个路径xxxx要记住,等下要考
make && make install
cd php源码包/ext/gd
php安装路径/bin/phpize
./configure --with-jpeg-dir=xxxx #jpeg安装路径
make && make install
#到这结束
这是百度出来的,几乎都这样,但是在我的服务器上是死活不生效,折腾了两个小时。
最后灵光一闪 ^ _ ^,要不要把php重新编译一下,但是又担心会影响其他的扩展。
最后一搏,没有百度,自己摸索的
phpinfo页面的这个位置后面的内容复制出来
替换掉单引号,其他不要动,找到 -width-jpeg-dir 后面加上 xxxx (jpeg的安装路径)
切换到php源码包目录 直接粘贴./configure 这一段 运行
最后 make && make install
重启php
果然成功了(中间其实报错过一次,gd检查有错,原来是我下载的jpeg版本太高),差点激动的哭了