美文网首页
laravel版本升级后 php artisan 所有命令都失败

laravel版本升级后 php artisan 所有命令都失败

作者: 码农工号9527 | 来源:发表于2021-03-04 11:00 被阅读0次

    本地laravel环境从 laravel6 升级到 laravel7 后,没问题,可以访问,artisan命令可以执行

    [root@localhost total_smp]# php artisan cache:clear
    Application cache cleared!
    [root@localhost total_smp]# composer dumpautoload
    Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    > @php artisan package:discover --ansi
    Discovered Package: beyondcode/laravel-dump-server
    Discovered Package: fideloper/proxy
    Discovered Package: intervention/image
    Discovered Package: laravel/tinker
    Discovered Package: maatwebsite/excel
    Discovered Package: mews/captcha
    Discovered Package: nesbot/carbon
    Discovered Package: nunomaduro/collision
    Discovered Package: overtrue/laravel-lang
    Package manifest generated successfully.
    Generated optimized autoload files containing 5621 classes
    [root@localhost total_smp]# php artisan 
    Laravel Framework 7.30.4
    
    Usage:
      command [options] [arguments]
    .....
    

    将代码用git提交后(所有必要的文件都提交,如vender的内容,测试环境不需要再执行额外的操作),测试环境执行任何php artisan命令都报错

    PHP Warning:  Uncaught ErrorException: require(/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php): 
    failed to open stream: No such file or directory in /data/smp/total_smp/vendor/composer/autoload_real.php:71
    ......
    

    访问web页面也直接报错500

    按照网上推荐的解决方式,有三种

    1. 首先判断是否是缓存造成的,运行composer clearcache命令进行缓存清除后,运行项目还是会报相同错误
    2. 把vendor目录删掉,使用composer install重新安装整个项目依赖,这个对于我的测试环境可以解决,但是会造成修改一系列文件,但是在该测试环境因为没有给开通可以提交代码的权限,所以放弃
    3. composer update进行项目扩展更新,针对我的情况还是不行,报错
    [root@localhost total_smp]$ composer update
    Loading composer repositories with package information
    Updating dependencies
    Nothing to modify in lock file
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Nothing to install, update or remove
    Package caouecs/laravel-lang is abandoned, you should avoid using it. Use https://github.com/Laravel-Lang/lang instead.
    Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
    Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
    Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    PHP Warning:  Uncaught ErrorException: require(/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php): failed to open stream: No such file or directory in /data/smp/total_smp/vendor/composer/autoload_real.php:71
    Stack trace:
    #0 /data/smp/total_smp/vendor/composer/autoload_real.php(71): Composer\Util\ErrorHandler::handle(2, 'require(/data/s...', '/data/smp/total...', 71, Array)
    #1 /data/smp/total_smp/vendor/composer/autoload_real.php(71): require()
    #2 /data/smp/total_smp/vendor/composer/autoload_real.php(61): composerRequiredb81ad581881d0bc8568108ed529543f('3af723442581d6c...', '/data/smp/total...')
    #3 /data/smp/total_smp/vendor/autoload.php(7): ComposerAutoloaderInitdb81ad581881d0bc8568108ed529543f::getLoader()
    #4 /data/smp/total_smp/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/data/smp/total...')
    #5 phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php(341): Illuminate\Foundation\ComposerScripts::postAutoloadDump(Ob in /data/smp/total_smp/vendor/composer/autoload_real.php on line 71
    
    Warning: Uncaught ErrorException: require(/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php): failed to open stream: No such file or directory in /data/smp/total_smp/vendor/composer/autoload_real.php:71
    Stack trace:
    #0 /data/smp/total_smp/vendor/composer/autoload_real.php(71): Composer\Util\ErrorHandler::handle(2, 'require(/data/s...', '/data/smp/total...', 71, Array)
    #1 /data/smp/total_smp/vendor/composer/autoload_real.php(71): require()
    #2 /data/smp/total_smp/vendor/composer/autoload_real.php(61): composerRequiredb81ad581881d0bc8568108ed529543f('3af723442581d6c...', '/data/smp/total...')
    #3 /data/smp/total_smp/vendor/autoload.php(7): ComposerAutoloaderInitdb81ad581881d0bc8568108ed529543f::getLoader()
    #4 /data/smp/total_smp/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/data/smp/total...')
    #5 phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php(341): Illuminate\Foundation\ComposerScripts::postAutoloadDump(Ob in /data/smp/total_smp/vendor/composer/autoload_real.php on line 71
    PHP Fatal error:  composerRequiredb81ad581881d0bc8568108ed529543f(): Failed opening required '/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php' (include_path='.:/usr/local/php/lib/php') in /data/smp/total_smp/vendor/composer/autoload_real.php on line 71
    
    Fatal error: composerRequiredb81ad581881d0bc8568108ed529543f(): Failed opening required '/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php' (include_path='.:/usr/local/php/lib/php') in /data/smp/total_smp/vendor/composer/autoload_real.php on line 71
    

    最终原因(针对我的情况),目录文件/data/smp/total_smp/vendor/composer/../markbaker/matrix/classes/src/Functions/adjoint.php确实再git部署的环境上没找到,但是我在我自己的本地环境上确实存在,因此,最大原因是git提交代码时忽略了大小写,导致一些文件没有提交(比如上面....../markbaker/matrix/classes/src/Functions目录的文件),因此修改本地git忽略大小写配置

    #直接把git的忽略大小写关了:
    git config core.ignorecase false
    

    在查看git状态

    Administrator@SD-20190505CHCR total_smp $ git st
    位于分支 dev
    您的分支与上游分支 'origin/dev' 一致。
    
    未跟踪的文件:
      (使用 "git add <文件>..." 以包含要提交的内容)
    
            vendor/markbaker/matrix/classes/src/Functions/
            vendor/markbaker/matrix/classes/src/Operations/
    
    

    真发现还有没提交的文件了。。提交到版本控制,在测试环境拉完最新代码后没问题了!!!
    记录一下,避免以后又踩坑

    相关文章

      网友评论

          本文标题:laravel版本升级后 php artisan 所有命令都失败

          本文链接:https://www.haomeiwen.com/subject/fsghqltx.html