2

我正在尝试让 Laravel 在 Google App Engine Standard 上运行。我已经让它灵活地工作了,但是需求发生了变化,我们现在需要标准。我在 Laravel 5.7 中使用 PHP 7.2 环境。部署工作,但是当我试图访问一个页面时,我在日志中得到一个错误:

Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Way\Generators\GeneratorsServiceProvider' not found
at Illuminate\Foundation\Application->register (/srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:662)

至少在本地对我来说第 662 行return new $provider($this);似乎并没有明确引用生成器包。

该生成器包似乎是,way/generators但是当我在composer require way/generators本地执行时,它会发出一百万个不同的警告,然后是

> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

In GeneratorsServiceProvider.php line 58:

  Call to undefined method Illuminate\Foundation\Application::share()  


Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

从我读过的内容来看,Laravel > 5 不需要生成器包,因为它已经包含了它,但由于某种原因在 GAE 上它试图引用它(在本地它运行良好artisan serve)。我尝试了各种作曲家安装后命令,但没有任何帮助。

"post-install-cmd": [
            "php artisan cache:clear",
            "php artisan optimize:clear",
            "php artisan config:clear",
            "php artisan config:cache",
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize",
            "chmod -R 755 bootstrap\/cache"
        ]
4

1 回答 1

2

正如您在评论中提到的,问题源于使用xethron/migrations-generatorhttps://github.com/Xethron/migrations-generatorconfig/app.php ),这需要在或中额外手动设置服务提供商app/Providers/AppServiceProvider.php。奇怪的是它composer.json不需要way/generators,而是包含另一个包,该包也包含way/generators. 很奇怪,但解释了为什么事情在composer install.

正如你所做的那样,核对它是一个选项或完成手动设置也可能没问题,尽管way/generators它适用于旧版本的 Laravel,并且不一定能 100% 工作。

于 2019-02-19T20:58:46.310 回答