我正在尝试使用工匠php artisan make:middleware AuthorizedUserOnly
制作中间件,但我得到如下ErrorException
。
file_get_contents(/mysite.com/www/local/composer.json( 无法打开流,没有这样的文件或目录。
这是我的文档根目录。
-local
-Laravel application folders
-artisan
-index.php
-composer.json
.htaccess
我更改了目录结构以使用共享主机。而且它工作正常。
主要说明
- 其他
artisan
命令有效。就像我尝试过php artisan route:list
&php artisan config:cache
&php artisan tinker
一样。 - 此目录结构工作正常。但是正如错误所说,它正在
local
尝试在目录中查找composer.json
,而它位于document root
. -
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 默认目录结构以在共享主机上成功运行我的应用程序,而 laravel 不推荐。
我们应该遵循Laravel提出的建议,以避免任何类似的问题。特别是至少永远不要弄乱默认目录结构。