Sty*_*hon 5 php laravel laravel-5 artisan
与许多主机一样,我们的公用文件夹被调用public_html.这是在共享主机上,所以无法更改.我已经将public文件夹更改public_html为反映这一点,但是当我artisan serve停止工作时.每当我尝试启动它时,我得到:
[ErrorException]
chdir(): No such file or directory (errno 2)
Run Code Online (Sandbox Code Playgroud)
如果我将文件夹重命名为public,则artisan serve再次开始工作.
我试过在laracasts上关注这篇文章,并且帖子中的用户报告工匠为他们工作,但它对我没有任何影响.如何更改文件夹并artisan serve有效?
Dipesh 的回答实际上是一个非常糟糕的主意——只要您进行 Composer 安装/更新/要求,这些更改就会被吹走。切勿直接编辑vendor目录中的任何内容。
相反,在 中bootstrap/app.php,您应该添加:
$app->bind('path.public', function() {
return __DIR__;
});
Run Code Online (Sandbox Code Playgroud)
紧接着
$app = new Illuminate\Foundation\Application(
realpath(__DIR__ . '/../')
);
Run Code Online (Sandbox Code Playgroud)
请参阅https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5以了解进一步讨论和以安全方式执行此操作的替代方法。
您也可以扩展Illuminate\Foundation\Application. 这对于 Laravel CLI(任何以 开头的东西php artisan)来说似乎是必需的。