• 在Ubuntu1.4下升级php和Yii2


     
     
    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.2
    sudo 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.6 sudo 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-mysql
    sudo 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

    ......
     (被转载的文章坑一个下午,在原教程中找到了缺少的一个步骤)
     
    4、重启服务
    sudo service apache2 restart
     
    二、yii2从2.0.4 升级到2.0.15 
     
    1、首先,确认您安装了最新版本的 Composer 资源插件
    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 yiiaseObject会报错,因为php7中不允许使用Object关键字,所以要用 use yiiaseBaseObject 代替就好。

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

    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

     设置密码  https://blog.csdn.net/zyz511919766/article/details/42268219

    redis-cli
    
    127.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()传递了字符串的地方

  • 相关阅读:
    Aspose.Words三 创建表格
    Aspose.words一 DOM结构
    Aspose.words四 bookmark
    Aspose.Words五 MergeField
    为什么使用Reazor
    C#实现发送给QQ邮件
    T4模板之基础篇
    avalon子孙元素属性监听
    C#设置WebBrowser IE浏览器版本
    【GoLang】GoLang GOPATH 工程管理 最佳实践
  • 原文地址:https://www.cnblogs.com/jiangxiaochang/p/9021484.html
Copyright © 2020-2023  润新知