服务器php版本升级(PHP版本升级)
- 服务器
- 2022-12-19 00:50:27
- 10
今天给各位分享服务器php版本升级的知识,其中也会对PHP版本升级进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
php服务器升级怎么写 csdn
服务器类型 CentOS 6.5
因为项目要用到php5.4以上的新功能 目前服务器还是用php5.3.8版本 所以升级版本就非常需要了。
首先 连上服务器 先把 PHP-fpm服务关闭(其实不影响的,因为程序在内存里面跑 不关也没事的) 然后 先把 /usr/local/php 重命名 以防止如果新版本更新失败 回滚
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
mv /usr/local/php /usr/local/php5.3.8
然后 下载最新版本php5.6.3 并且解压
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
wget
php.net/distributions/php-5.6.3.tar.gz
tar -zxvf php-5.6.3.tar.gz
因为是升级 所以 php很多依赖包我都已经装过了 先贴上我的 configure 配置参数
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www --enable-fpm --enable-opcache --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-fileinfo --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-exif --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-ftp --with-gettext --enable-zip --enable-soap --disable-ipv6 --disable-debug
其中 最为注意的是 开启 opcache 可以缓存opcode 提高php性能
还有 --disable-debug --disable-ipv6 关闭 debug ipv6 可以提升性能
第一次make 出错了
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
网上找到解决办法
在安装 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」没抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没给到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。
然后 重新make 顺利通过了
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
make clean #清除上次编译生成的 obj文件
make ZEND_EXTRA_LIBS='-liconv'
make install
配置 优化下 php.ini 具体参数可以百度下 都是比较容易理解的
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
sed -i 's@^output_buffering =@output_buffering = On\noutput_buffering =@' /usr/local/php/etc/php.ini
sed -i 's@^;cgi.fix_pathinfo.*@cgi.fix_pathinfo=0@' /usr/local/php/etc/php.ini
sed -i 's@^short_open_tag = Off@short_open_tag = On@' /usr/local/php/etc/php.ini
sed -i 's@^expose_php = On@expose_php = Off@' /usr/local/php/etc/php.ini
sed -i 's@^request_order.*@request_order = "CGP"@' /usr/local/php/etc/php.ini
sed -i 's@^;date.timezone.*@date.timezone = Asia/Shanghai@' /usr/local/php/etc/php.ini
sed -i 's@^post_max_size.*@post_max_size = 50M@' /usr/local/php/etc/php.ini
sed -i 's@^upload_max_filesize.*@upload_max_filesize = 50M@' /usr/local/php/etc/php.ini
sed -i 's@^;upload_tmp_dir.*@upload_tmp_dir = /tmp@' /usr/local/php/etc/php.ini
sed -i 's@^max_execution_time.*@max_execution_time = 5@' /usr/local/php/etc/php.ini
sed -i 's@^disable_functions.*@disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen@' /usr/local/php/etc/php.ini
sed -i 's@^session.cookie_httponly.*@session.cookie_httponly = 1@' /usr/local/php/etc/php.ini
sed -i 's@^mysqlnd.collect_memory_statistics.*@mysqlnd.collect_memory_statistics = On@' /usr/local/php/etc/php.ini
刚才装了 opcache 模块 这里设置下
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
sed -i 's@^
opcache
@[opcache]\nzend_extension=opcache.so@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.enable=.*@opcache.enable=1@' $php_install_dir/etc/php.ini
sed -i "s@^;opcache.memory_consumption.*@opcache.memory_consumption=128" $php_install_dir/etc/php.ini
sed -i 's@^;opcache.interned_strings_buffer.*@opcache.interned_strings_buffer=8@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.max_accelerated_files.*@opcache.max_accelerated_files=4000@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.revalidate_freq.*@opcache.revalidate_freq=60@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.save_comments.*@opcache.save_comments=0@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.fast_shutdown.*@opcache.fast_shutdown=1@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.enable_cli.*@opcache.enable_cli=1@' $php_install_dir/etc/php.ini
sed -i 's@^;opcache.optimization_level.*@;opcache.optimization_level=0@' $php_install_dir/etc/php.ini
生成下 php-fpm 文件
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
添加到系统服务
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
搞定了启动
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
service php-fpm start
如何升级Windows服务器的PHP版本
升级PHP系统很简单,关键是升级以后你现在编写的PHP网站代码是否正常使用,这个才是大事情。
升级方法一、下载ZIP格式的新版本PHP系统,解包覆盖现有安装的文件夹下
升级方法二、下载ZIP格式的新版本PHP系统,单独解包到一个新的文件夹,修改现在的WEB服务器配置中PHP*EXE或者PHP*DLL的文件夹路径,指定新文件夹下的文件
现在要升级php5.4已上的版本,怎么升级
一、前言
我们公司服务器上的PHP版本是5.2,真的太旧了,除了很多新特性无法使用之外,PHP5.4的性能也比5.2版本有所提高,有助于提供业务的吞吐量。今年,我们计划将公司所有业务的PHP版本升级为5.4.41。
二、升级前准备
在升级PHP版本之前,首先要做的是检查业务代码的语法兼容性。其实,在官网上已经有相关的升级指引,我参考的是这2个链接。
从 PHP 5.2.x 移植到 PHP 5.3.x:
从 PHP 5.3.X 迁移到 PHP 5.4.X:
官方的文档中,没有升级指引从PHP5.2直接升级到PHP5.4,因此,需要对以上的升级指引,做一个归纳总结。上面的链接中有好几篇子文章,我主要关注的是“不向下兼容的变化”,“PHP 5.3.x 中弃用的功能”,“被移除的扩展”,“其他改变”……,主要目的是找出不兼容的语法(导致错误),以及将会被移除的函数。
我们使用以下一个表格来进行总结,方便各业务的人员能够对照PHP版本升级带来的变化而修改各自的业务代码
以上内容摘抄自官网的一些说明,这里就不详细列出来了。
三、测试
完善的单元测试和功能测试可以保证PHP版本升级后能及时发现问题。
四、上线方案
灰度,再灰度,这个是我们的原则。上线的时候,先对一个机房的服务器PHP版本进行升级,再逐步覆盖到所有的服务器。与此同时,上线之后,要密切留意是否error.log里面是否包含“PHP Fatal error”的错误日志,服务器的响应状态是否正常。
---------------------
服务器php版本升级的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于PHP版本升级、服务器php版本升级的信息别忘了在本站进行查找喔。
本文由admin于2022-12-19发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:http://www.qnphp.com/post/19872.html