与许多主机一样,我们的公用文件夹名为public_html.这是在共享主机上,所以无法更改.我已经将公共文件夹更改为public_html以反映这一点,但是当我做工匠服务时停止工作.每当我尝试启动它时,我得到:
[ErrorException] chdir(): No such file or directory (errno 2)
如果我将文件夹重命名为public,那么artisan服务将重新开始工作.
我已经尝试了following this post on laracasts,并且帖子中的用户报告工匠为他们工作,但它对我没有任何影响.如何更改文件夹并让工匠服务工作?
Dipesh的答案实际上是一个非常糟糕的主意 – 每当你进行Composer安装/更新/需要时,这些更改都会被吹走.切勿直接编辑供应商目录中的任何内容.
相反,在bootstrap / app.PHP中,您应该添加:
$app->bind('path.public',function() { return __DIR__; });
之后
$app = new Illuminate\Foundation\Application( realpath(__DIR__ . '/../') );
有关进一步讨论以及以安全方式执行此操作的其他方法,请参见https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5.
你也可以extend Illuminate\Foundation\Application
.这对Laravel CLI(任何以PHP artisan开头的东西)来说是必要的.