Php 作曲家返回神秘错误

Php 作曲家返回神秘错误,php,laravel,composer-php,laravel-5.1,Php,Laravel,Composer Php,Laravel 5.1,不幸的是,我不知道我到底做了什么,导致每次运行时都会出现此错误 composer update 从命令行。我相信这是在我的composer.json中添加了laracasts/integrated之后发生的,但我很难相信这就是问题所在。我确实尝试过移除Laracast/integrated,但问题仍然存在。下面是我得到的确切错误: $ composer update > php artisan clear-compiled [ErrorException] Undefined

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

composer update
从命令行。我相信这是在我的composer.json中添加了laracasts/integrated之后发生的,但我很难相信这就是问题所在。我确实尝试过移除Laracast/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>]...
也许可以解决这个问题,但这对我不起作用。我发现了无数类似的问题,但没有一个与我所遇到的错误完全相符,所以我希望熟悉这些类型错误的人能帮助我调试它

据我所知

 php artisan clear-compiled
是导致此错误的原因,但我对如何调试此类问题非常不熟悉


谢谢。

Artisan启动了一个相当于HTTP版本的应用程序的命令行。基于此错误,您可能有一个服务提供程序(或其他一些可引导类)试图访问$\u服务器阵列,当通过命令行运行时,该阵列显然没有请求URI


检查您的提供商。如果这还没有给出答案,请搜索/grep以查找请求URI,找出哪个类正在尝试使用它。

Artisan启动一个相当于HTTP版本的应用程序的命令行。基于此错误,您可能有一个服务提供程序(或其他一些可引导类)试图访问$\u服务器阵列,当通过命令行运行时,该阵列显然没有请求URI


检查您的提供商。如果这还没有给出答案,请搜索/grep以查找请求URI,找出哪个类正在尝试使用它。

我也遇到了类似的错误。(见下文)

我对整个源代码进行了grep,最后找到了错误的原因

我需要使用比PHP更安全的方法

  • 来源

    /app/Http/routes.php

  • 差异

    (之前)$\u服务器['HTTP\u主机']

    (之后)请求::服务器('HTTP_主机')


    • 我也有类似的错误。(见下文)

      我对整个源代码进行了grep,最后找到了错误的原因

      我需要使用比PHP更安全的方法

      • 来源

        /app/Http/routes.php

      • 差异

        (之前)$\u服务器['HTTP\u主机']

        (之后)请求::服务器('HTTP_主机')



      备份您的项目,然后删除供应商目录,再次抛出
      编写器更新。如果它不起作用,也许将代码移动到新安装的laravel可能会有所帮助。我的项目在Git/GitHub中受版本控制,所以这应该不会太难。请尝试删除bootstrap/cache/compiled.phpmanually@Ben谢谢你的建议,但实际上我在我的项目中没有看到名为compiled.php的文件。该文件夹包含一个.gitignore文件和一个services.json文件?@Tezla我试图将我的项目克隆到一个新文件夹中。当我运行composer update时,它会给出相同的错误,并且不会生成供应商文件夹。运行composer install会在完成时生成一个供应商文件夹,其中包含与上面相同的错误消息。请备份您的项目,然后删除供应商目录,再次抛出
      composer update
      。如果它不起作用,也许将代码移动到新安装的laravel可能会有所帮助。我的项目在Git/GitHub中受版本控制,所以这应该不会太难。请尝试删除bootstrap/cache/compiled.phpmanually@Ben谢谢你的建议,但实际上我在我的项目中没有看到名为compiled.php的文件。该文件夹包含一个.gitignore文件和一个services.json文件?@Tezla我试图将我的项目克隆到一个新文件夹中。当我运行composer update时,它会给出相同的错误,并且不会生成供应商文件夹。运行composer install会在完成时生成一个供应商文件夹,其中包含与上面相同的错误消息。感谢您的想法-我在我的供应商文件夹中搜索了REQUEST_URI,没有发现任何让我觉得不合适的内容。您能否详细说明我如何继续搜索此未定义索引的来源?您是否只搜索了供应商文件夹?您是否编写过任何中间件或服务提供商,或编辑过任何打包的基础Laravel类?/app文件夹是一个很好的起点。我确实有一些中间件和服务提供商。这个问题似乎是在我添加一些单元测试时开始的——事实上,可能是在我尝试从命令行(使用cygwin)拉入laracast/integrated时开始的——啊,我相信你是对的@Trip——我在我的服务提供商中使用了$\u SERVER['REQUEST\u URI']。你对我可以用什么来代替有什么建议吗?代码是有效的——所以作曲家不喜欢它真的很令人沮丧。不是作曲家不喜欢它。Laravel的composer.json文件告诉composer执行artisan命令。您可以将其从“post update cmd”部分中删除,但这样您就缺少了Laravel工作原理的一个重要部分。您可能可以使用URI的“安全”getter来完成同样的事情。你的答案将与这里被接受的答案相似:谢谢你的想法-我在我的供应商文件夹中搜索了REQUEST_URI,没有发现任何让我觉得不合适的东西。您能否详细说明我如何继续搜索此未定义索引的来源?您是否只搜索了供应商文件夹?您是否编写过任何中间件或服务提供商,或编辑过任何打包的基础Laravel类?/app文件夹是一个很好的起点。我确实有一些中间件和服务提供商。这个问题似乎是在我添加一些单元测试时开始的——事实上,可能是在我尝试从命令行(使用cygwin)拉入laracast/integrated时开始的——啊,我相信你是对的@Trip——我在我的服务提供商中使用了$\u SERVER['REQUEST\u URI']。你对我可以用什么来代替有什么建议吗?代码是有效的,所以作曲家不喜欢
       php artisan clear-compiled
      
      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