您的位置:首页 > 运维架构 > Linux

linux更换php版本(编译安装)

2018-01-26 17:40 363 查看
参考博客:http://blog.csdn.net/21aspnet/article/details/47708763

事前准备:把你以前用的好好的php版本删掉,一般是在/usr/local/php,把这个文件夹删掉,然后把/bin/php这个指令删掉

1. 下载一个你需要的php版本,而且能够用 configure安装的。我们这里举例php7.0.27版本的压缩包

2. 解压缩这个php压缩包

3. cd进去压缩后的目录

4. 用下面这个configure配置(当然有些配置不是必须的,如果你看得懂,可以自行删减。或者你现在是从其他版本的php转到另一个版本的php,你可以新建一个php文件,echo phpinfo(),在第一页看到Configure Command ,参考你原来的configure配置也是可以的,但是版本不要差太多,例如php5拿去配php7可能不行,同一个大版本应该没什么问题,可以试试)

./configure –prefix=/usr/local/php \

–with-curl \

–with-freetype-dir \

–with-gd \

–with-gettext \

–with-iconv-dir \

–with-kerberos \

–with-libdir=lib64 \

–with-libxml-dir \

–with-mysqli \

–with-openssl \

–with-pcre-regex \

–with-pdo-mysql \

–with-pdo-sqlite \

–with-pear \

–with-png-dir \

–with-xmlrpc \

–with-xsl \

–with-zlib \

–enable-fpm \

–enable-bcmath \

–enable-libxml \

–enable-inline-optimization \

–enable-gd-native-ttf \

–enable-mbregex \

–enable-mbstring \

–enable-opcache \

–enable-pcntl \

–enable-shmop \

–enable-soap \

–enable-sockets \

–enable-sysvsem \

–enable-xml \

–enable-zip

这个配置可能会报错,如果最后几行输出一些error或者 warning就不动了,应该是你少了一些东西,每个人情况可能不同,可以复制报错的行百度一下,一般来说是少安装了一些东西,yum install xxx一般可以搞定,这里具体问题具体百度吧~

在你configure看起来跑得没什么问题(好像没问题会输出一段“thanks for using php之类的话,忘了”),然后就执行make && make install,一般你configure没问题的话,make && make install也不会有什么问题,这个过程可能要跑一段时间,跑完后,会输入几行说建议你添加什么什么的,这样就算安装好了。一般默认安装路径是/usr/local/php。

然后配置文件

cp php.ini-development /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm

需要注意的是php7中www.conf这个配置文件配置phpfpm的端口号等信息,如果你修改默认的9000端口号需在这里改,再改nginx的配置。

这个时候你输入php -v应该能看到你想要的php版本了

7.然后配置php-fpm,将它打到service里面

设置/etc/init.d/php-fpm,将;pid = run/php-fpm.pid前面分号去掉

8.修改 php-fpm 文件(一般这些路径前面有些变量,是配置好了的,你可以看看${xxxxx}这个变量指向哪里,只要是指向你安装的地方/usr/local/php就可以不用改了,如果不是这个地方,可以改成你安装php的路径)



php_fpm_BIN=@sbindir@/php-fpm

php_fpm_CONF=@sysconfdir@/php-fpm.conf

php_fpm_PID=@localstatedir@/run/php-fpm.pid

改成

php_fpm_BIN=/usr/local/php/sbin/php-fpm

php_fpm_CONF=/usr/local/php/etc/php-fpm.conf

php_fpm_PID=/usr/local/php/var/run/php-fpm.pid

9.

添加执行权限

chmod a+x /etc/init.d/php-fpm

加入服务

chkconfig –add php-fpm

开机自启

chkconfig php-fpm on

然后你就可以试试service php-fpm start(或者stop/restart)这样的操作了,并且现在php服务是开机启动的。如果有报错有问题说是127.0.0.1:9000(address:port)被占用,就先killall php-fpm把服务终止掉,然后再执行service php-fpm start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: