不幸的是,我不知道我到底做了什么,导致每当我运行时都会出现这个错误
composer update
从命令行。我相信这是在将laracasts/integrated添加到我的composer.json之后发生的,但我很难相信这就是问题所在。我确实试着去除了laracasts/integrated,但问题仍然存在。这是我得到的确切错误:
$ composer update
> php artisan clear-compiled
[ErrorException]
Undefined index: REQUEST_URI
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error
[RuntimeException]
Error Output:
update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--] [<packages>]...
在谷歌上搜索后,似乎删除了composer.lock文件并运行
composer install
也许可以解决这个问题,但这对我来说不起作用。我发现了无数类似的问题,但没有一个符合我得到的确切错误,所以我希望熟悉这些类型错误的人可以帮助我调试它。
据我所知,
php artisan clear-compiled
导致了这个错误,但是,我真的不熟悉如何调试这种类型的问题。
谢谢。
Artisan引导的命令行等效于应用程序的HTTP版本。基于此错误,您可能有一个服务提供程序(或其他可引导类)试图访问$_SERVER数组,当通过命令行运行时,该数组显然不会有REQUEST_URI。
请检查您的提供商。如果没有找到答案,请在/grep中搜索REQUEST_URI,以找出哪个类正在尝试使用它。
我也有类似的错误。(见下文)
Writing lock file
Generating autoload files
> php artisan clear-compiled
[ErrorException]
Undefined index: HTTP_HOST
Script php artisan clear-compiled handling the post-update-cmd event returned with error code 1
我对整个来源进行了grep,最终找到了错误的原因。
我需要使用比PHP方法更安全的方法。
源
/app/Http/routes.php
差异
(之前)$_SERVER['HTTP_HOST']
(之后)请求::服务器(HTTP_HOST)