linux平台下为PHP添加GD与MySQLi扩展

linux平台下为PHP添加GD与MySQLi扩展

Centos 5.3 Final (linux内核2.6.18-128.e15)+PHP5.3.4+MySQL5.1.53+Apache2.3.8

这两天尝试在以上平台安装个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.分别编译安装各个源码包

安装zlib

tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install

安装libpng

tar zxvf libpng-1.5.0.tar.tar
cd libpng-1.5.0
cd scripts
mv makefile.linux ../makefile
cd ..
make
make install

安装freetype

tar zxvf freetype-2.4.4.tar.gz
cd freetype-2.4.4
./configure
make
make install

安装Jpeg

tar zxvf jpegsrc.v8b.tar.gz
cd jpeg-8b
./configure —enable-shared
make
make test
make install
注意,这里configure一定要带—enable-shared参数,不然,不会生成共享库

安装GD库
tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure —with-png —with-freetype —with-jpeg
make install

3.重新编译安装PHP(即是在以前编译PHP的参数后面再加上以上安装的相关参数)

cd php-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

make install

这样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@localhost mysqli]#/opt/php/bin/phpize

Configuring for:

PHP Api Version: 20090626

Zend Modeule Api No: 20090626

Zend Extension Api No: 220090626

[root@localhost mysqli]#./configure —prefix=/opt/mysqli —with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config

[root@localhost mysqli]#make

[root@localhost mysqli]#make install

安装完成后会有提示扩展所在目录路径,如:

/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其他扩展亦类似安装。。。。