Lightmarec 2012-03-20
php安装gd库
1、查看php信息
php-v
[root@TJSJHL242-181achievo]#php-v
PHP5.3.6(cli)(built:Aug19201119:35:20)
Copyright(c)1997-2011ThePHPGroup
ZendEnginev2.3.0,Copyright(c)1998-2011ZendTechnologies
2、
一、phpize是干嘛的?
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
什么时候我们要用phpize呢?
我们在安装php时:
'./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了。
二、如何使用phpize?
当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;
------------------------------------
#如果在编译的时候忘记添加某些模块,可以使用这种办法来重新编译添加!
#首先,进入PHP目录(未编译)的扩展目录
cd/home/soft/php-5.2.14/ext/ftp/
#调用phpize程序生成编译配置文件
#find/-namephpize
/usr/local/php/bin/phpize
Configuringfor:
PHPApiVersion:20041225
ZendModuleApiNo:20060613
ZendExtensionApiNo:220060519
#编译扩展库
/configure–with-php-config=/usr/local/php/bin/php-config
make
#make成功执行后,生成的扩展库文件在当前目录的modules子目录下
#编辑php.ini文档,找到extension_dir的目录,将编译好的扩展文件复制到extension下面
vim/usr/local/php/etc/php.ini
#第491行
#extension_dir=“/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
cpftp.so/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#在php.ini的添加扩展库位置,设置要添加的扩展库。
#在612处添加extension=ftp.so
#重启webservice
------------------------------------------------------
181的php源码位置在
/root/software/php-5.3.6
----------------------------------------
这两天尝试在以上平台安装个Xenforo论坛,安装开始时提示以下信息:
ThefollowingerrorsoccurredwhileverifyingthatyourservercanrunXenForo:
*TherequiredPHPextensionMySQLicouldnotbefound.Pleaseaskyourhosttoinstallthisextension.
*TherequiredPHPextensionGDcouldnotbefound.Pleaseaskyourhosttoinstallthisextension.
由于PHP是源码编译安装的,所以以上两个扩展都没安装,下面是为PHP添加这两个扩展的过程:
一、安装GD扩展
1.下载安装GD库扩展所需源码包(可点击源码包直接下载)
gd-2.0.35.tar.gzhttp://www.libgd.org/releases/
jpegsrc.v8b.tar.gzhttp://www.ijg.org/
libpng-1.5.0.tar.gzhttp://sourceforge.net/projects/libpng/
freetype-2.4.4.tar.gzhttp://sourceforge.net/projects/freetype/
zlib-1.2.3.tar.gz
2.分别编译安装各个源码包
安装zlib
tarzxvfzlib-1.2.3.tar.gz
cdzlib-1.2.3
./configure
make
makeinstall
安装libpng
tarzxvflibpng-1.5.0.tar.tar
cdlibpng-1.5.0
cdscripts
mvmakefile.linux../makefile
cd..
make
makeinstall
安装freetype
tarzxvffreetype-2.4.4.tar.gz
cdfreetype-2.4.4
./configure
make
makeinstall
安装Jpeg
tarzxvfjpegsrc.v8b.tar.gz
cdjpeg-8b
./configure–enable-shared
make
maketest
makeinstall
注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库
安装GD库
tarzxvfgd-2.0.33.tar.gz
cdgd-2.0.33
./configure–with-png–with-freetype–with-jpeg
makeinstall
3.重新编译安装PHP(即是在以前编译PHP的参数后面再加上以上安装的相关参数)
cdphp-5.3.4(进入以前的PHP源码目录)
./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时所加的参数
make
makeinstall
这样GD库扩展便安装完毕,重启Apache,查看PHP信息测试页便可看到gd项;
二、安装MySQLi扩展
在这里要用到phpize,phpize命令是用来准备PHP扩展库编译环境,一般在你安装好PHP后,会在安装PHP的bin目录下找到这个命令。
如果在执行phpize命令后出现找不到autoconf之类的提示,请安装好autoconf后再次执行。
以下指令的目录路径,请网友们根据自己系统的实际情况作相应修改。
PHP源码包文件夹下的EXT文件夹就是放置着目前版本的可用扩展,CD进去看看都有哪些你需要的?应该看到mysqli文件夹了吧~~~
cd/opt/software/php-5.3.4/ext/mysqli
在当前目录下执行phpize
[root@localhostmysqli]#/opt/php/bin/phpize
Configuringfor:
PHPApiVersion:20090626
ZendModeuleApiNo:20090626
ZendExtensionApiNo:220090626
[root@localhostmysqli]#./configure–prefix=/opt/mysqli–with-php-config=/opt/php/bin/php-config–with-mysqli=/opt/mysql/bin/mysql_config
[root@localhostmysqli]#make
[root@localhostmysqli]#makeinstall
安装完成后会有提示扩展所在目录路径,如:
/opt/php/lib/php/extensions/no-debug-zts-20090626
所需的mysqli.so便会在此目录下,接下来修改/opt/php/etc/下的php.ini文件,加入mysqli扩展,即加入如下一行:
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
之后重新启动Apache服务,再次打开PHP信息页便可看到MySQLi项。
PHP其他扩展亦类似安装。。。。
http://www.heiok.com/?p=517
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh