Laravel Artisan make命令问题

4
我正在尝试使用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. 这个目录结构也能正常工作。但是,错误显示正在尝试在 `local` 目录中查找 `composer.json`,而它实际上应该在 `document root` 中。
3. `php artisan make:model` 命令会输出相同的异常信息。
有什么可能的问题和解决方案?

检查 composer.json 文件的权限。 - Meera Tank
@MeeraTank,755权限。但即使是权限问题,其他工匠命令也不会起作用,但它们正在正常工作。 - Nauman Zafar
还有,为什么它在错误中提到在local目录下寻找composer.json?有任何想法吗? - Nauman Zafar
1个回答

1
解决方案:我将composer.json文件移动到local目录中,然后它就能正常工作了。因此,新的目录结构如下:
-local
  -Laravel Application Folders
  -composer.json
  -artisan
-index.php
.htaccess

如何实现?

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

重要提示

我更改了 Laravel 的默认目录结构,以在共享主机上成功运行我的应用程序,这是 Laravel不推荐的。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接