您的位置:首页 > 编程语言 > PHP开发

rhel4 x86_64 php5.2.17 make安装 支持mysqli

2011-12-26 20:38 639 查看
1, 下载 php-5.2.17.tar.gz到~/download,

2, 解压

tar -zxvf php-5.2.17.tar.gz

cd php-5.2.17

2, configure, 指定安装路径 (/usr/local/php5.2.17)

./configure --prefix=/usr/local/php5.2.17/ --with-mysql=/usr/local/mysql --with-apxs2=/usr/sbin/apxs --enable-mbstring --with-libxml --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib-dir --with-ttf --enable-gd-native-ttf --with-gd --with-gettext

注:

a, 最好指定安装路径,方便卸载(直接删除该目录), 默认装在/usr/local

b, --with-apxs2指定apxs文件的具体目录(可用which apxs查找)

c, --enable-mbstring 多字节编码支持

d, --with-libxml 使用xml

e, --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib-dir --with-ttf --enable-gd-native-ttf --with-gd为生成验证图片所必须, 注意--with-gd应放在最后, 有--with-gdt选项其它的才起作用.

f, 在x86_64上会提示找不到libjpeg.so, libpng.so, 因为 这两个文件在/usr/lib64下。 解决办法: 创建符号链接到/usr/lib

ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so

ln -s /usr/lib64/libpng.so /usr/lib/libpng.so

g, 使用--with-config-file-path=[php安装目录] 可以指定php.ini应放在哪个目录,默认在--prefix指定目录的子目录lib下。可以在httpd.conf中用:PHPIniDir [php.ini所在目录] 明确指示

3, 编译并安装
make && make install

4, 追加编译安装mysqli (直接--with-mysqli=/usr/local/mysql/bin/mysql_config安装会出错: Undefined symbol: .mysql_set_server_option)

cd ext/mysqli/

/usr/local/php5.2.17/bin/phpize

./configure --prefix=/usr/local/php5.2.17 --with-php-config=/usr/local/php5.2.17/bin/php-config --enable-embedded-mysqli=shared --with-ysqli=/usr/local/mysql/bin/mysql_config --enable-shared

make

make install

成功后会提示安装到哪个目录(如: /usr/local/php5.2.17/lib/php/extensions/no-debug-non-zts-20060613/)

将mysqli.so拷贝到php的lib目录

cp /usr/local/php5.2.17/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so /usr/local/php5.2.17/lib/

配置php.ini

vi /usr/local/php5.2.17/lib/php.ini

指定extension_dir和extension, 最后用绝对路径(相对路径不知当前路径指的是哪~o~)如:

extension_dir = "/usr/local/lib"

extension=mysqli.so

注: 也可用此方法来追加安装其它模块,形 如:

[php安装目录]/bin/phpize
./configure --with-php-config=[php安装目录]/bin/php-config --with-mbstring
make
make install

5, 重启apache服务

service httpd restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: