博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Ubuntu1.4下升级php和Yii2
阅读量:4709 次
发布时间:2019-06-10

本文共 2131 字,大约阅读时间需要 7 分钟。

 
 
composer切换到国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
或者
composer.json中添加
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
一、php从5.59升级到php7.25
1、首先添加一个PPA,并更新软件源:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update
 
查找PHP 7的最新版本,并进行安装
sudo apt search php7 sudo apt-get install php7.2

 

查看当前PHP版本,是否已经安装成功。
php -v
2、php版本切换
#PHP 5.6 => PHP 7.2sudo a2dismod php5.6 sudo a2enmod php7.2 sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php7.2 #PHP 7.2 => PHP 5.6sudo a2dismod php7.2 sudo a2enmod php5.6 sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php5.6

 

3、安装php扩展(以下是我自己原来php有的扩展)
sudo apt install php7.2-mysqlsudo apt-get install php7.2-memcache sudo apt-get install php7.2-curl  sudo apt-get install php7.2-gd sudo apt-get install php7.2-xml
......
安装memcached拓展:
     
原文链接:
 
 (被转载的文章坑一个下午,在原教程中找到了缺少的一个步骤)
 
4、重启服务
sudo service apache2 restart
 
二、yii2从2.0.4 升级到2.0.15 
 
1、首先,确认您安装了最新版本的 :
php composer.phar global require "fxp/composer-asset-plugin:~1.2.0"

 

2、然后升级 Yii 通过运行:
php composer.phar update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask

或者

composer.json中添加
"require": {"php": "~7.2.0","yiisoft/yii2": "~2.0.15",}
 

 然后运行

composer update

 

 

注意:

升级到php7.2的时候如果在你的项目中引用了use yii\base\Object会报错,因为php7中不允许使用Object关键字,所以要用 use yii\base\BaseObject 代替就好。

 

目前到这里完成了,后续有什么问题再补充吧。

1、 PHP7 serialize_precision 配置不当导致 json_encode() 浮点小数溢出错误

 php.ini serialize_precision改为16
 
2、安装redis,已经设置密码等
下载安装redis
$sudo apt-get update$sudo apt-get install redis-server

启动redis

redis-server& 检查是否启动 redis-cli ping

 设置密码  

redis-cli127.0.0.1:6379> config set requirepass my_redis  OK  redis 127.0.0.1:6379[1]> config get requirepass 1) "requirepass"  2) "my_redis"  

3、升级完PHP7,微信支付回调失败。 $GLOBALS['HTTP_RAW_POST_DATA']Undefined index: HTTP_RAW_POST_DATA。查了资料是php7 移除了这个全局变量,使用file_get_contents("php://input")代替

//$xml = $GLOBALS['HTTP_RAW_POST_DATA'];$xml = file_get_contents("php://input");

 

4、由于php7对参数严谨性,count()只能传递array参数,修改项目之前使用count()传递了字符串的地方

转载于:https://www.cnblogs.com/jiangxiaochang/p/9021484.html

你可能感兴趣的文章
SpringMVC @ResponseBody 406
查看>>
Partial Tree UVALive - 7190(完全背包)
查看>>
顺序容器的insert使用方法
查看>>
Markdown的使用
查看>>
销售系统学习.mdl
查看>>
触发器
查看>>
mysql配置默认字符集为UTF8mb4
查看>>
WPF实现3D翻转的动画效果
查看>>
自定义圆环进度条
查看>>
UILayer
查看>>
复杂对象写入文件
查看>>
k8s-高级调度方式-二十一
查看>>
[HDU3555]Bomb
查看>>
基于dubbo的分布式系统(一)安装docker
查看>>
Recursion
查看>>
66. Plus One
查看>>
COMP30023 Computer Systems 2019
查看>>
CSS选择器分类
查看>>
Kali学习笔记39:SQL手工注入(1)
查看>>
C# MD5加密
查看>>