lamp-gd库问题

版权声明:撰写不易,转载请注明原文出处,如有错误,欢迎批评指正。如有版权问题,请联系[email protected] https://blog.csdn.net/qq_42195688/article/details/80579784

通过以上安装好了php,并且可以展示php页面。此时当需要增加php-gd库时,会出现gd库不存在。此时可以通过一下方法实现php-gd库的导入。
找到当初安装php是的源码所放位置,即是当初解压实现安装的那个php目录
我的php安装源码的位置: 
/usr/local/php/php-5.4.9
在php安装源码文件中有一个扩展文件的存放地址: /usr/local/php/php-5.4.9/ext
一般常用的php扩展都在此处,现在要解决的php-gd库也在此处,进入gd库文件中: cd gd
在gd文件中运行: /usr/local/php/bin/phpize  给php动态添加扩展,此处的路径是你安装的php路径
通过此次命令你会发现gd文件中出现很多新的文件。此时就可以像配置php一样实现添加gd扩展。运行命令: ./configure --with-php-config=/usr/local/php/bin/php-config  这里的php-config也是安装的php路径下
接着 make
之后 make install
幸运的发现出现了两句提示:
Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/  
Installing header files:/usr/local/php/include/php/
这里出现的路径是安装好的gd.so的路径,可以通过:
cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ /usr/local/php/php-5.4.9/ext/
将gd.so复制到确认使用的扩展文件夹中,这里的路径会和下面的php.ini文件中的扩展路径相同
这个时候GD库已经安装完成。接下来就是和php整合在一起。
找到你的php.ini文件,也就是当初copy源码中的php.ini-development文件,我的文件是放在了php安装目录下的lib中,所以通过: vi /usr/local/php/lib/php.ini  打开php.ini文件。如图:


源码是  ;extension_dir = "./" 此处我们将前面的分号去掉,并且将我们的接下来要使用的库扩展路径加上。我这里将库扩展放在了源码中,即  ;extension_dir = "/usr/local/php/php-5.4.9/ext/"  同上诉的路径
接着要在php.ini文件中找到extension的扩展文件区域,增加一句  extension = gd.so ,此处前面没有分号。
最后重启apache即可。 service httpd restart 。就可以看到gd库已经加载。
如果遇到了  configure: error: png.h not found. 的报错,请先将GD库的支持库安装好。 
一般还会遇到mbstring,curl 以及php-mysql 的扩展,mbstring 和curl 都可以通过上述方式实现,mysql需要多注意一些。 
mysql扩展在安装前,先将mysql-devel安装好,否则会出现configure的错误 

yum -y install mysql-devel  

注意如果是64位的操作系统的话,还需要做个软连接,否则也会出现configure的错误 

ln -s /usr/lib64/mysql /usr/lib/mysql  

和前面的gd库相同,进入到相应的mysql的扩展文件夹中 

cd /usr/local/php/php-5.4.9/ext/mysql/  

/usr/local/php/bin/phpize  

./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr  

make  

make install  

配置php.ini文件,重启apache服务。 


linux gd库不支持jpeg解决办法(这个好good)

php版本:php-7.2.0        linux操作系统:CentOS7
编译安装zabbix监控系统时会遇到这个问题

提醒:  编译安装php的时候不要编译安装gd库,如果已经编译安装了要去掉--with-gd重新编译安装(试了多次先安装了gd库就是不成功),然后进入下列步骤。

1. 进入下载的源码包php-7.2.0/ext/gd目录下执行如下命令
# /usr/local/data/php/bin/phpize     #/usr/local/data/php是之前安装的php目录
2. 编译安装jpeg和dg扩展
# ./configure --with-php-config=/usr/local/data/php/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-zlib-dir --with-gd
#make
#make install
安装成功会提示:Installing shared extensions: /usr/local/data/php/lib/php/extensions/no-debug-non-zts-20170718/ 

3.  #cd /usr/local/data/php/lib/php/extensions/no-debug-non-zts-20170718/   
进入目录就能看到扩展了:gd.so扩展已经编译成功了

4. 把编译好的扩展添加到php.ini文件中
#vim /usr/local/data/php/lib/php.ini 
extension_dir="/usr/local/data/php/lib/php/extensions/no-debug-non-zts-20170718"  //设置扩展路径
extension=gd.so   //添加gd扩展
5. 完成后重启php。(如果要重新操作以上步骤,一定要在源码包gd目录下先执行make clean命令)

这里需要注意他的目录结构和我的不一样 /usr/local/data/php/lib/php/extensions/no-debug-non-zts-20170718/
我的中间没有data这一层目录,还有就是我好像执行make clean之后还把原来的gd.so重命名掉

主要还是得多摸索,共勉!!!


原文地址:https://blog.csdn.net/qq_42195688/article/details/80579784

猜你喜欢

转载自blog.csdn.net/qq_42195688/article/details/80579784