'Error: While updating laravel 8 to 9. Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
Nothing to install, update or remove Generating optimized autoload files Class App\Helpers\Helper located in C:/wamp64/www/vuexylaravel/app\Helpers\helpers.php does not comply with psr-4 autoloading standard. Skipping. > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi
Error
Undefined constant Illuminate\Http\Request::HEADER_X_FORWARDED_ALL
at C:\wamp64\www\vuexylaravel\vendor\fideloper\proxy\config\trustedproxy.php:48
44▕ * - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer)
45▕ *
46▕ * @link https://symfony.com/doc/current/deployment/proxies.html
47▕ */
➜ 48▕ 'headers' => Illuminate\Http\Request::HEADER_X_FORWARDED_ALL,
49▕
50▕ ];
51▕
1 C:\wamp64\www\vuexylaravel\vendor\laravel\framework\src\Illuminate\Support\ServiceProvider.php:138
require()
2 C:\wamp64\www\vuexylaravel\vendor\fideloper\proxy\src\TrustedProxyServiceProvider.php:28
Illuminate\Support\ServiceProvider::mergeConfigFrom("C:\wamp64\www\vuexylaravel\vendor\fideloper\proxy\config\trustedproxy.php", "trustedproxy")
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
Solution 1:[1]
The colleague with the answer above is, in principle, right. Only he forgot to mention that after all the changes in the file, you need to delete the package fideloper/proxy:
https://laravel.com/docs/9.x/upgrade
Trusted Proxies
Likelihood Of Impact: Low
If you are upgrading your Laravel 8 project to Laravel 9 by importing your existing application code into a totally new Laravel 9 application skeleton, you may need to update your application's "trusted proxy" middleware.
Within your
app/Http/Middleware/TrustProxies.phpfile, updateuse Fideloper\Proxy\TrustProxies as Middlewaretouse Illuminate\Http\Middleware\TrustProxies as Middleware.Next, within
app/Http/Middleware/TrustProxies.php, you should update the$headersproperty definition:// Before... protected $headers = Request::HEADER_X_FORWARDED_ALL; // After... protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_AWS_ELB;Finally, you can remove the
fideloper/proxyComposer dependency from your application:
composer remove fideloper/proxy
Solution 2:[2]
If the above answer does not work for you and you are getting the same error, execute one more line for removing the fideloper/proxy from composer.json.
// Before...
protected $headers = Request::HEADER_X_FORWARDED_ALL;
// After...
protected $headers =
Request::HEADER_X_FORWARDED_FOR |
Request::HEADER_X_FORWARDED_HOST |
Request::HEADER_X_FORWARDED_PORT |
Request::HEADER_X_FORWARDED_PROTO |
Request::HEADER_X_FORWARDED_AWS_ELB;
This will remove the proxy from the composer.json and the exception will be gone.
composer remove fideloper/proxy
it's properly mentioned in the laravel 9 upgrade guide. https://laravel.com/docs/9.x/upgrade#the-assert-deleted-method
Solution 3:[3]
If you are upgrading your Laravel 8 project to Laravel 9 by importing your existing application code into a totally new Laravel 9 application skeleton, I tried this solution below.
a) I fixed it by deleting "config/trustedproxy.php". I did not have the TrustProxies middleware on the directory at app\Http\Middleware on my side
Solution 4:[4]
Two things I did after following the laravel upgrade doc which worked for me:
- Manually go into composer.json and remove the fideloper/proxy
Run composer update. If you still get the issue. Follow next:
- Check if this file TrustProxies.php is present located at vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php if Not you can copy from old one.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ðиколай |
| Solution 2 | HadiNiazi |
| Solution 3 | |
| Solution 4 | Prosper |
