首先安装一些自带的组件
一、升级系统yum update
二、安装编译工具 yum –y install gcc gcc-c++ make automake autoconf
三、WEB服务组件yum –y install httpd php mysql mysql-server postgresql php-mysql php-pgsql php-mcrypt php-mhash php-mbstring php-xml php-gd
sqlite Python-sqlite
编译PHP 5.3.3准备工作
四、yum –y install postgresql-devel mysql-devel httpd-devel openssl-devel libxml2-devel zlib-devel curl-devel libmcrypt-devel mhash-devel libjpeg-devel libpng-devel gd-devel freetype-devel libtool-ltdl-devel
编译脚本
#!/bin/sh
./configure \
--prefix=/opt/php-5.3 \
--sysconfdir=/opt/php-5.3/etc \
--with-config-file-path=/opt/php-5.3/etc \
--with-config-file-scan-dir=/opt/php-5.3/etc/conf.d \
--with-apxs2=/usr/sbin/apxs \
--with-curl=shared \
--with-gd=shared --with-jpeg-dir --with-png-dir \
--with-mcrypt --with-mhash --enable-mbstring \
--with-kerberos --with-gettext --enable-bcmath \
--with-mysql=shared --with-mysqli=/usr/lib64/mysql/mysql_config --with-pdo-mysql=shared \
--with-pgsql=shared --with-pdo-pgsql=shared --with-sqlite=shared \
--enable-pdo=shared --with-pdo-sqlite=shared \
--with-openssl --enable-ftp --with-pear --with-zlib \
--enable-inline-optimization --enable-calendar --enable-magic-quotes \
--enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg \
--disable-debug \
常见问题
1. 系统中没有发现apxs
查看是否安装httpd-devel ,如果没装补上即可
2.Php 5.3.X中没有发现php.ini-disk模板文件
在php 5.3.X中模板改为php.ini-developmnet 和 php.ini-product ,我们用其中的php.ini-developmnet 将其重命名成php.ini并将其拷贝到/opt/php-5.3/etc(只针对以上编译参数起效的目录,请依据自己设置更改相应目录)下即可
3. 发现一个奇怪现象,就是一旦我操作了2的的php.ini到相应目录,则无法正常解析部分PHP文件,如下
<? <?php
Phpinfo(); 可是我改为代码时 phpinfo(); 又可以正常解析PHP文件。
?> ?>
这时你需要在PHP.INI中修改一处设置,原来是php5.3.3 的 php.ini默认 short_open_tag = off,将其短标签设置为On即可。
4. PHP也升级好了,就是死活无法加载扩展组件,也包含无法连接MYSQL数据库?
添加或修改两处配置即可,以搜索extension找到
extension_dir = "/opt/php-5.3/lib/php/extensions/no-debug-non-zts-20090626"
extension=/opt/php-5.3/lib/php/extensions/no-debug-non-zts-20090626/mysql.so