在linux下装了许多遍php后有感而发,有一个归根到底的问题就是,php编译参数一定要写完整,否则接下来你装各种扩展都会遇到很多烦死人的问题……,特别是安装路径乱七八糟的或者缺少各种头文件和扩展。
ok吐槽完了,在开始讲怎么安装之前,先说说我的系统背景。
系统是Centos6.5,之前是用yum安装了lnmp,由于想把php升级到5.6,所以只能够用yum remove php*把所有的软件管理包卸载掉,重新编译php。
背景介绍完了,现在开始说安装步骤了。
#cd ~
#tar xf php-5.6.2
#yum install gcc
gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel
freetype-devel openssl-devel libcurl-devel libmcrypt-devel
安装php依赖的包
#./configure
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache
--enable-sockets --enable-sysvmsg --enable-sysvsem
--enable-sysvshm --enable-shmop --enable-zip
--enable-ftp --enable-soap --enable-xml --enable-mbstring
--disable-rpath --disable-debug --disable-fileinfo --with-mysql
--with-mysqli --with-pdo-mysql --with-pcre-regex --with-iconv
--with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash
--with-xmlrpc --with-curl --with-imap-ssl
重点来了,注意这里的参数(当然也可以不用这里的参数,不过建议新手还是用吧)。-prefix是安装目录,-with-mysql是mysql的安装目录,由于我是用yum装的,所以不需要写-with-mysql=****哪里这样子,其他参数自行百度。
#make
#make install
若上几步都没报错的话就安装成功,有报错估计是少了点什么,用百度查查后yum一下吧。
#cp php.ini-production
/usr/local/php/etc/php.ini
------------------------------------------------------------------
当我们使用nginx还要把php-fpm.conf放到/usr/localphp/etc/里头
接下来我们还可能需要将php-fpm作为server服务
#cp
/usr/local/src/php-5.6.17/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
(/usr/local/src/php-5.6.17是PHP安装文件夹)
设置权限,并添加服务
#chmod +x /etc/init.d/php-fpm
#chkconfig --add php-fpm
以后可以使用如下命令管理php-fpm了
#service php-fpm start
#service php-fpm stop
#service php-fpm restart
#service php-fpm reload