Maison >développement back-end >tutoriel php >php安装gd库与phpize的用法

php安装gd库与phpize的用法

WBOY
WBOYoriginal
2016-07-25 08:55:201225parcourir
  1. [root@jbxue achievo]# php -v
  2. PHP 5.3.6 (cli) (built: Aug 19 2011 19:35:20)
  3. Copyright (c) 1997-2011 The PHP Group
  4. Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
复制代码

二,phpize 1,什么是phpize phpize用来扩展php扩展模块,通过phpize可以建立php的外挂模块。

在安装php时,需要用到phpize:

  1. './configure' '--prefix=/usr/local/php' '--with-mysql=/usr/local/mysql' '--with-zlib-dir' '--with-freetype-dir=/usr' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-gd' '--enable-ftp' '--with-iconv' '--with-gettext' '--with-curl' '--enable-fastcgi' '--with-openssl'
复制代码

后面的参数是需要的模块,有时需要再添加一些模块,又不想重新编译php,此时即可用phpize来帮助外挂模块。

2,如何使用phpize? 当php编译完成后,php的bin目录下会有phpize这个脚本文件 。 在编译要添加的扩展模块之前,执行以下phpize就可以了;

  1. # 如果在编译的时候忘记添加某些模块,可以使用这种办法来重新编译添加!
  2. # 首先,进入PHP目录(未编译)的扩展目录
  3. cd /home/soft/php-5.2.14/ext/ftp/
  4. # 调用phpize程序生成编译配置文件
  5. # find / -name phpize
  6. /usr/local/php/bin/phpize
  7. Configuring for:
  8. PHP Api Version: 20041225
  9. Zend Module Api No: 20060613
  10. Zend Extension Api No: 220060519
  11. # 编译扩展库
  12. /configure –with-php-config=/usr/local/php/bin/php-config
  13. make
  14. # make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下
  15. # 编辑php.ini文档,找到extension_dir的目录,将编译好的扩展文件复制到extension下面
  16. vim /usr/local/php/etc/php.ini
  17. # 第491行
  18. # extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
  19. cp ftp.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
  20. # 在php.ini的添加扩展库位置,设置要添加的扩展库。
  21. # 在612处添加 extension=ftp.so
  22. # 重启webservice
复制代码

------------------------------------------------------ 181的php源码位置在 /root/software/php-5.3.6

尝试在以上平台安装个Xenforo论坛,安装开始时提示以下信息: The following errors occurred while verifying that your server can run XenForo: * The required PHP extension MySQLi could not be found. Please ask your host to install this extension. * The required PHP extension GD could not be found. Please ask your host to install this extension.

由于PHP是源码编译安装的,所以以上两个扩展都没安装,下面是为PHP添加这两个扩展的过程:

一、安装GD扩展 1.下载安装GD库扩展所需源码包(可点击源码包直接下载) gd-2.0.35.tar.gz http://www.libgd.org/releases/ jpegsrc.v8b.tar.gz http://www.ijg.org/ libpng-1.5.0.tar.gz http://sourceforge.net/projects/libpng/ freetype-2.4.4.tar.gz http://sourceforge.net/projects/freetype/ zlib-1.2.3.tar.gz

2.分别编译安装各个源码包 1)、安装zlib

  1. tar zxvf zlib-1.2.3.tar.gz
  2. cd zlib-1.2.3
  3. ./configure
  4. make
  5. make install
复制代码

2)、安装libpng

  1. tar zxvf libpng-1.5.0.tar.tar
  2. cd libpng-1.5.0
  3. cd scripts
  4. mv makefile.linux ../makefile
  5. cd ..
  6. make
  7. make install
复制代码

3)、安装freetype

  1. tar zxvf freetype-2.4.4.tar.gz
  2. cd freetype-2.4.4
  3. ./configure
  4. make
  5. make install
复制代码

4)、安装Jpeg

  1. tar zxvf jpegsrc.v8b.tar.gz
  2. cd jpeg-8b
  3. ./configure –enable-shared
  4. make
  5. make test
  6. make install
复制代码

注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库。

5)、安装GD库

  1. tar zxvf gd-2.0.33.tar.gz
  2. cd gd-2.0.33
  3. ./configure –with-png –with-freetype –with-jpeg
  4. make install
复制代码

3,重新编译安装PHP(即是在以前编译PHP的参数后面再加上以上安装的相关参数) cd php-5.3.4 (进入以前的PHP源码目录)

  1. ./configure –prefix=/opt/php –with-mysql=/opt/mysql –with-apxs2=/opt/apache/bin/apxs –enable-track-vars –enable-force-cgi-redirect –with-config-file-path=/opt/php/etc –with-gd –enable-gd-native-ttf –with-zlib –with-png –with-jpeg –with-freetype –enable-sockets
复制代码

绿色字体部份是以前安装PHP时所加的参数:

  1. make
  2. make install
复制代码

这样GD库扩展便安装完毕,重启Apache,查看PHP信息测试页便可看到gd项;

二、安装MySQLi扩展 在这里要用到phpize,phpize 命令是用来准备 PHP 扩展库编译环境,一般在安装好PHP后,会在安装PHP的bin目录下找到这个命令。 如果在执行phpize命令后出现找不到autoconf之类的提示,请安装好autoconf后再次执行。 以下指令的目录路径,请网友们根据自己系统的实际情况作相应修改。 PHP源码包文件夹下的EXT文件夹就是放置着目前版本的可用扩展,CD进去看看哪些需要?应该看到mysqli文件夹了。

  1. cd /opt/software/php-5.3.4/ext/mysqli
复制代码

在当前目录下执行phpize

  1. [root@jbxue mysqli]#/opt/php/bin/phpize
  2. Configuring for:
  3. PHP Api Version: 20090626
  4. Zend Modeule Api No: 20090626
  5. Zend Extension Api No: 220090626
  6. [root@jbxue mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
  7. [root@jbxue mysqli]#make
  8. [root@jbxue mysqli]#make install
复制代码

安装完成后,会有提示扩展所在目录路径,例如: /opt/php/lib/php/extensions/no-debug-zts-20090626 所需的mysqli.so便会在此目录下。

接下来修改/opt/php/etc/下的php.ini文件,加入mysqli扩展:

  1. extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
复制代码

重启Apache服务,再次打开PHP信息页,即可看到MySQLi项。



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn