#########################
为了在linux服务器上部署一个php的应用,中间还要用到php下的mysql,mbstring,json模块支持,开始想去用php源码编译安装等,中间出现很多问题,还有系统各种包的依赖问题,头大的要命(留待以后研究吧)。最终采用了这种在我看来比较简洁清晰的方式才部署完成。
PHP实际安装过程.(含扩展mysql,mbstring,json)
rpm包均用系统yum升级包里的版本(各包版本能保持一致[默认目录安装],此处php及扩展版本[除php-json]均为5.1.6-27)。
过程如下:
1. 安装php #yum -y install php
(过程中会安装php,php-common,php-cli三个rpm)
若遇到依赖版本冲突,可使用 rpm -e php-common 卸载冲突的版本。
php命令所在目录:/usr/bin (需要配入PATH,位置靠前,以防调用其他php版本[系统中安装了其他php])
2. 安装扩展mbstring #yum -y install php-mbstring
扩展模块所在目录:/usr/lib64/php/modules (在其下会生成mbstring.so)
3. 安装扩展mysql
1). 先安装php-pdo #yum -y install php-pdo
2). 再安装php-mysql #yum -y install php-mysql
扩展模块所在目录:/usr/lib64/php/modules,其下生成mysqli.so,mysql.so,pdo_mysql.so,pdo.so,pdo_sqlite.so等表示成功。
4. 安装扩展json(此最好不用升级包里的,它会要php53-common依赖包,而这个又和php-common冲突,暂时没办法解决,我也不想前面全部重来)
1). 下载得到php-json-ext-1.2.0.tar.bz2
2). 解压后得到php-json-ext-1.2.0/目录
3). 依次运行如下:
#cd php-json-ext-1.2.0/
#/usr/bin/phpize
(若无phpize命令,参照下面过程安装)
#yum -y install php-devel
#yum -y install autoconf
#yum -y install automake
#yum -y install libtool
(若采用升级包安装,这几个一般不会出错,若下载其他版本新rpm安装,要注意解决版本和各种依赖)
现在有了phpize命令。
继续:
#/usr/bin/phpize(在php-json-ext-1.2.0/目录下)注:此命令注意是和前面php同目录下(同版本的)
#./configure
#make
#make install
(中间无errors报,一般就成功了。)
扩展模块所在目录:/usr/lib64/php/modules,其下生成json.so,phpcups.so等表示成功。
4).php文件配置
php相关配置目录和文件:/etc/php.d/和主配置文件php.ini
两种方法:1. 在php.ini中,保证extension_dir = "/usr/lib64/php/modules",另外单独加入一行:extension=json.so
2. 在目录/etc/php.d/中新建文件json.ini,内容为:extension=json.so.
5. 至此php及扩展安装结束,运行命令:#php -m 可以得到已安装好的php模块列表,可以看到前面列出的都在其中。
若有报错,请查看报错的相应模块,表示安装存在问题。