分类目录

链接

2017 年 12 月
 123
45678910
11121314151617
18192021222324
25262728293031

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > LINUX, PHP > 正文
Linux升级PHP5.x至PHP7.2.0
LINUX, PHP 暂无评论 阅读(766)

先停止之前的Php,

  1. service stop php-fpm

新建文件夹

  1. mkdir -/alidata/server/php-7.2.0
  2. ln -/alidata/server/php-7.2.0 /alidata/server/php7

升级并安装的SH脚本:

  1. #!/bin/bash
  2. rm -rf php-7.2.0
  3. if [ ! -f php-7.2.0.tar.gz ];then
  4.   wget http://cn2.php.net/distributions/php-7.2.0.tar.gz
  5. fi
  6. tar zxvf php-7.2.0.tar.gz
  7. cd php-7.2.0
  8. ./configure --prefix=/alidata/server/php7 \
  9. --enable-opcache \
  10. --with-config-file-path=/alidata/server/php7/etc \
  11. --with-mysql=mysqlnd \
  12. --with-mysqli=mysqlnd \
  13. --with-pdo-mysql=mysqlnd \
  14. --enable-fpm \
  15. --enable-fastcgi \
  16. --enable-static \
  17. --enable-inline-optimization \
  18. --enable-sockets \
  19. --enable-wddx \
  20. --enable-zip \
  21. --enable-calendar \
  22. --enable-bcmath \
  23. --enable-soap \
  24. --with-zlib \
  25. --with-iconv \
  26. --with-gd \
  27. --with-xmlrpc \
  28. --enable-mbstring \
  29. --without-sqlite \
  30. --with-curl \
  31. --enable-ftp \
  32. --with-mcrypt  \
  33. --with-freetype-dir=/usr/local/freetype.2.1.10 \
  34. --with-jpeg-dir=/usr/local/jpeg.6 \
  35. --with-png-dir=/usr/local/libpng.1.2.50 \
  36. --disable-ipv6 \
  37. --disable-debug \
  38. --with-openssl \
  39. --disable-maintainer-zts \
  40. --disable-safe-mode \
  41. --disable-fileinfo
  42.  
  43. CPU_NUM=$(cat /proc/cpuinfo | grep processor | wc -l)
  44. if [ $CPU_NUM -gt 1 ];then
  45.     make ZEND_EXTRA_LIBS='-liconv' -j$CPU_NUM
  46. else
  47.     make ZEND_EXTRA_LIBS='-liconv'
  48. fi
  49. make install
  50. cd ..
  51. cp ./php-7.2.0/php.ini-production /alidata/server/php7/etc/php.ini
  52. #adjust php.ini
  53. sed -'s#; extension_dir = \"\.\/\"#extension_dir = "/alidata/server/php7/lib/php/extensions/no-debug-non-zts-20121212/"#'  /alidata/server/php7/etc/php.ini
  54. sed -'s/post_max_size = 8M/post_max_size = 64M/g' /alidata/server/php7/etc/php.ini
  55. sed -'s/upload_max_filesize = 2M/upload_max_filesize = 64M/g' /alidata/server/php7/etc/php.ini
  56. sed -'s/;date.timezone =/date.timezone = PRC/g' /alidata/server/php7/etc/php.ini
  57. sed -'s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/g' /alidata/server/php7/etc/php.ini
  58. sed -'s/max_execution_time = 30/max_execution_time = 300/g' /alidata/server/php7/etc/php.ini
  59. #adjust php-fpm
  60. cp /alidata/server/php7/etc/php-fpm.conf.default /alidata/server/php7/etc/php-fpm.conf
  61. sed -'s,user = nobody,user=www,g'   /alidata/server/php7/etc/php-fpm.conf
  62. sed -'s,group = nobody,group=www,g'   /alidata/server/php7/etc/php-fpm.conf
  63. sed -'s,^pm.min_spare_servers = 1,pm.min_spare_servers = 5,g'   /alidata/server/php7/etc/php-fpm.conf
  64. sed -'s,^pm.max_spare_servers = 3,pm.max_spare_servers = 35,g'   /alidata/server/php7/etc/php-fpm.conf
  65. sed -'s,^pm.max_children = 5,pm.max_children = 100,g'   /alidata/server/php7/etc/php-fpm.conf
  66. sed -'s,^pm.start_servers = 2,pm.start_servers = 20,g'   /alidata/server/php7/etc/php-fpm.conf
  67. sed -'s,;pid = run/php-fpm.pid,pid = run/php-fpm.pid,g'   /alidata/server/php7/etc/php-fpm.conf
  68. sed -'s,;error_log = log/php-fpm.log,error_log = /alidata/log/php/php-fpm.log,g'   /alidata/server/php7/etc/php-fpm.conf
  69. sed -'s,;slowlog = log/$pool.log.slow,slowlog = /alidata/log/php/\$pool.log.slow,g'   /alidata/server/php7/etc/php-fpm.conf
  70. #self start
  71. install --m755 ./php-7.2.0/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
  72. sleep 5

安装过程中,发现差什么就安装什么:

  1. yum -y install libjpeg-devel 
  2. yum -y install openssl-devel
  3. yum -y install libpng-devel

然后,还要配置一下扩展(当然,手动修改PHP.INI也可以):

  1.  sed -'s#\[opcache\]#\[opcache\]\nzend_extension=opcache.so#' /alidata/server/php7/etc/php.ini
  2.   sed -'s#;opcache.enable=0#opcache.enable=1#' /alidata/server/php7/etc/php.ini

最后重启:

  1. /etc/init.d/php-fpm start

 

升级PHP后,wordpress菜单报错,不可用

原代码:

  1.   <?php echo str_replace("</ul></div>", "", ereg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'header-menu','menu' => 'header_menu', 'echo' => false)) )); ?>

改为:

  1.   <?php echo str_replace("</ul></div>", "", preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'header-menu','menu' => 'header_menu', 'echo' => false)) )); ?>

注意, PHP7不再支持ereg_replace,使用 preg_replace代替,而,preg_replace正则的写法与ereg_replace,表达式前后多了一个“/”.

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:Linux升级PHP5.x至PHP7.2.0 | Bruce's Blog

发表评论

留言无头像?