作曲家返回神秘错误


Composer returning mysterious error

不幸的是,我不知道我到底做了什么,导致每当我运行时都会出现这个错误

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)