Laravel Artisan make 命令问题

Laravel Artisan make command issue

我正在尝试使用 artisan php artisan make:middleware AuthorizedUserOnly 制作中间件,但我得到 ErrorException 如下所示。

file_get_contents(/mysite.com/www/local/composer.json) Failed to open stream no such file or directory.

这是我的文档根目录。

-local
  -Laravel application folders
  -artisan
-index.php
-composer.json
.htaccess

我更改了目录结构以使用共享主机。它工作正常。

重点说明

  1. 其他 artisan 命令有效。就像我试过 php artisan route:list & php artisan config:cache & php artisan tinker.
  2. 此目录结构有效 fine.But,因为错误表明它试图在 local 目录中查找 composer.json 而它位于 document root.
  3. php artisan make:model 命令吐出相同的 Exception

可能的问题和解决方案是什么?

解决方案 :我将 composer.json 文件移动到 local 目录并且工作正常。所以新的目录结构是

-local
  -Laravel Application Folders
  -composer.json
  -artisan
-index.php
.htaccess

如何 ?

我还不确定。但这是可能的原因。 php artisan make 命令创建一些文件。因此,将这些创建的文件包含到系统中执行 composer dump-autoload。所以对于 运行 composer 它会在 artisan 所在的同一目录中查找,在我的例子中是 local 目录。

重要

我已成功更改 laravel 默认目录结构 运行 我在 SHARED HOSTING 上的应用 laravel 不推荐.

我们应该遵循 laravel 提出的建议以避免任何类似的问题。特别是至少不要弄乱默认目录结构。