当前位置:首页 > 服务器 > 正文

服务器php版本升级(PHP版本升级)

今天给各位分享服务器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版本升级的信息别忘了在本站进行查找喔。

取消
扫码支持 支付码