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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29238009/article/details/79175117

参考博客: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一般可以搞定,这里具体问题具体百度吧~

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

  2. 然后配置文件

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的路径)

扫描二维码关注公众号,回复: 3823552 查看本文章

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

猜你喜欢

转载自blog.csdn.net/qq_29238009/article/details/79175117