zoukankan      html  css  js  c++  java
  • 在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()传递了字符串的地方

  • 相关阅读:
    spring boot 中@Mapper和@Repository的区别
    yarn和npm的对比以及yarn的使用
    vue环境搭建
    小白的springboot之路(六)、跨域解决方案CORS
    DWR3.0框架入门(1) —— 实现ajax
    DWR3.0框架入门(3) —— ScriptSession的维护及优化
    DWR3.0框架入门(2) —— DWR的服务器推送
    Freemarker入门案例
    dom4j生成和解析xml文件
    struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)
  • 原文地址:https://www.cnblogs.com/jiangxiaochang/p/9021484.html
Copyright © 2011-2022 走看看