Error fatal al actualizar Laravel 5.1 a 5.2


Estoy siguiendo al oficial guía de actualización de 5.1 a 5.2. La primera subsección dice:

Si está instalando una versión beta de Laravel 5.2, agregue "minimum-stability": "beta" a tu compositor.archivo json.

Actualiza tu composer.archivo json para apuntar a laravel/framework 5.2.*.

Añadir symfony/dom-crawler ~3.0 y symfony/css-selector ~3.0 a la require-dev sección de su compositor.archivo json.

Ahora, después de introducir los cambios anteriores y ejecutar composer update, obtengo lo siguiente error(es):

PHP Fatal error:  Class 'Illuminate\Routing\ControllerServiceProvider' not found 
in /home/vagrant/Code/myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 146

Y

[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Illuminate\Routing\ControllerServiceProvider' not found

Y

[RuntimeException]
Error Output: PHP Fatal error:  Class 'Illuminate\Routing\ControllerServiceProvider' not found in /home/vagrant/Code/myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 146

Los errores se lanzan después de que se realiza la actualización, y se lleva a cabo la "Generación de archivos de carga automática".

¿Qué podría estar mal?

No parece un problema de paquete personalizado, sino uno principal. ¿Debo continuar con la guía de actualización y ejecutar composer update DESPUÉS de que todo se haya ajustado para adaptarse a la nueva versión del framework?

UPDATE

Corriendo composer dump-autoload después no arroja los errores descritos anteriormente. Aunque sigue siendo confuso.

Author: Marcin Nabiałek, 2015-12-21

6 answers

Ya no hay Illuminate\Routing\ControllerServiceProvider.

Si yo fuera usted, compararía mi proyecto de aplicación con https://github.com/laravel/laravel/commits/develop, si por ejemplo mira https://github.com/laravel/laravel/blob/develop/config/app.php verá proveedores predeterminados para Laravel 5.2:

Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
 * Application Service Providers...
 */
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
 56
Author: Marcin Nabiałek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-21 13:16:02

Al actualizar de 5.1 a 5.2 en proyectos existentes, encontramos que ejecutar composer update antes y después de eliminar las líneas para los proveedores

Illuminate\Routing\ControllerServiceProvider::class Illuminate\Foundation\Providers\ArtisanServiceProvider::class

Fue una secuencia necesaria para completar la actualización de laravel.

Ejecutar antes permitiría a laravel descargar y actualizar las dependencias actuales de la biblioteca del marco y luego ejecutar después de la eliminación (composer pudo completar sin problemas)

También encontramos que cualquier valor en el .el archivo env no puede tienen espacios y deben estar rodeados de citas para trabajar.

 19
Author: iowatiger08,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-06 17:37:57

Elimine los dos proveedores de servicios de config/app.php

Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
 Illuminate\Routing\ControllerServiceProvider::class,
 19
Author: Jinu P C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-04 11:59:13

Actualizando la aplicación.el archivo php bajo config / solucionó un problema, pero con la introducción de la carpeta bootstrap/cache probablemente continuará encontrándose con el mismo error.

Ejecuté la actualización composer Antes de eliminar el archivo almacenado en caché, así que seguí golpeando el mismo error. Asegúrese de eliminar el bootstrap / cache / services.primero el archivo php.

Podría haber un comando artisan para esto, pero me perdí totalmente este paso en la documentación.

 7
Author: Adam Patterson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-11 00:46:17

Encontré la solución aquí:

Https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0

Proveedores de servicios

El Illuminate\Foundation\Providers\ArtisanServiceProvider debe eliminarse de su lista de proveedores de servicios en su aplicación.archivo de configuración php.

El Illuminate\Routing\ControllerServiceProvider debe eliminarse de la lista de proveedores de servicios de la aplicación.archivo de configuración php.

 2
Author: Erhnam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-21 13:13:05

Eliminar paquetes.php y configuración.php desde la carpeta de caché de bootstrap después de ejecutar composer dump-autoload

 0
Author: Daniel Ortegón,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-20 17:15:10