温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CentOS7中PHP版本升级的示例分析

发布时间:2021-06-17 10:45:31 来源:亿速云 阅读:254 作者:小新 栏目:编程语言

这篇文章主要介绍CentOS7中PHP版本升级的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

 备份之前的php7.0(这很重要,非常重要)
cp -r /usr/local/php-7.1.3 /usr/local/php71.bak
查看php7.0的configure并获取
php -i | grep configure

替换一下就可以获得之前的configure 命令 (注意新版本的--prefix和--with-config-file-path)

php -i | grep configure | sed -e "s/Configure Command => //; s/'//g"

如有问题

编译zlib时提示:configure: error: Please reinstall the libzip distributio 或者 configure: error: system libzip must be upgraded to version >= 0.11
使用Yum最新版只到0.10,不足以达到要求

1.删除libzip 

yum remove libzip -y
wget https://nih.at/libzip/libzip-1.2.0.tar.gz

tar -zxvf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make && make install
ldconfig -v

如果目录报错

echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64'>>/etc/ld.so.conf&&ldconfig -v
安装新的PHP版本
cd /usr/local/src
wget -c https://www.php.net/distributions/php-7.3.13.tar.gz -O php-7.3.13.tar.gz
tar -zxvf php-7.3.13.tar.gz
cd php-7.3.13/
./configure  --prefix=/usr/local/php73 --with-config-file-path=/usr/local/php73/etc/ --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --with-xmlrpc --with-libdir=/usr/lib64 --with-png-dir=/usr/lib64 --with-gettext=/usr/lib64 --with-curl --with-jpeg-dir --with-freetype-dir=/usr/lib64 --with-fpm-user=php --with-fpm-group=web_group --with-pgsql --with-libxml-dir --with-bz2 --with-pcre-dir --without-gdbm --without-pear --enable-zip --enable-inline-optimization --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-intl --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --enable-session --enable-opcache --enable-fpm --enable-fileinfo --enable-calendar --enable-cli --enable-static --enable-wddx --disable-debug --enable-mysqlnd --enable-pdo --disable-rpath
make && make install

CentOS7中PHP版本升级的示例分析

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

这样基本就安装完成了,简单吧,是很简单,但是坑来了

过程中可能出现:make: *** [sapi/cli/php] Error 1

解决方法:make ZEND_EXTRA_LIBS='-liconv'

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

扩展的坑,以前装了什么扩展,现在都要重新安装了,而且不能在以前的扩展包文件夹下安装,必须是新的扩展包文件夹,这很重要,不然你一直执行php -v 都有类似下面的问题

PHP Warning: PHP Startup: Unable to load dynamic library'/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so' - /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so: cannot open sharedobject file: No such file or directory in Unknown on line 0

如果忘记安装了什么扩展,看一下扩展目录有什么就行了:

[root]$ /usr/local/php/bin/php-config --extension-dir
 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303
[root]$  ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303

其中opcache.a opcache.so 是自带的,其他的都是新增的。其他扩展怎么装,就不告诉你了,如果你其他扩展装的很多的话,那恭喜你,你又可以好好练一遍了

重新启动php-fpm
systemctl restart php-fpm

查看状态

systemctl status php-fpm -l

以上是“CentOS7中PHP版本升级的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI