Laravel6使用composer dump-autoload诡异报错(package:discover error code 255)

【问题】

最初使用composer require doctrine/dbal发现报了如下错误,后面使用install、update、dump-autoload都会报这个错误,也没有路径错误提示。

【尝试】

将vendor、./bootstrap/cache/*.php、composer.lock等文件反复删除后再重新执行还是这个问题,其他项目正常,composer最新版本。

【疑惑】

通过搜索引擎找到的可能原因是某个文件的语法错误导致的,但是PHPstorm并没有相关错误提示,也找了一圈没有发现,报错也没有路径提示,没头绪。

【可能的原因】

这个项目我在最近创建了packages目录,在composer.json的“autoload-》psr-4”引入了这个文件下面的扩展包,我在执行最上面的命令时发生报错后把相关的包和路径都删掉了,文件中全局搜索也没有。
Laravel6使用composer install报错Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255

composer.json如下

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2.5|^8.0",
        "fideloper/proxy": "^4.4",
        "laravel/framework": "^6.20.26",
        "laravel/tinker": "^2.5"
    },
    "require-dev": {
        "facade/ignition": "^1.16.15",
        "fakerphp/faker": "^1.9.1",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.5.8|^9.3.3"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

总结:该问题如有详细报错根据报错解决,没有则大概率是PHP语法问题(在composer没有问题的前提下),要去看php-fpm.log,除了搜索引擎结果最多的Laravel6.x->Laravel7.x之外,最常见的是在构造/析构函数里写关于数据库操作和IO操作的语句。

2年前 评论
讨论数量: 5
Summer

用这个方法调试一下 Wiki:Laravel 调试:500 或命令行报错但无日志怎么办? ,看输出什么

2年前 评论

@Summer 项目各接口都正常,主要就是composer命令报这个错

2年前 评论
Summer 2年前
发呆的小孩 (作者) (楼主) 2年前

总结:该问题如有详细报错根据报错解决,没有则大概率是PHP语法问题(在composer没有问题的前提下),要去看php-fpm.log,除了搜索引擎结果最多的Laravel6.x->Laravel7.x之外,最常见的是在构造/析构函数里写关于数据库操作和IO操作的语句。

2年前 评论

@Su 没有,已经解决了,在析构函数里写了IO操作的语句

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!