3 回答
TA贡献1886条经验 获得超2个赞
不,但是您有两种选择:
最简单的方法是将所有文件上载到您所在的目录(即cPanel用户主目录)中,并将public的内容放入public_html中。这样,您的目录结构将是这样的(有点混乱,但它可以工作):
/
.composer/
.cpanel/
...
app/ <- your laravel app directory
etc/
bootstrap/ <- your laravel bootstrap directory
mail/
public_html/ <- your laravel public directory
vendor/
artisan <- your project's root files
您可能还需要编辑bootstrap/paths.php以指向正确的公共目录。
如果您不希望将所有这些文件都放在该“根”目录中,则另一种解决方案是将它们放在仍位于根目录中的它们自己的目录(可能是“ laravel”)中,然后编辑路径以使其正常工作。不过,您仍然需要将中的内容放入public中public_html,这一次编辑您的内容public_html/index.php以正确引导应用程序。这样,您的文件夹结构会更加整洁(尽管由于更多地干扰了框架的设计结构,所以路径可能会有些令人头疼):
/
.composer/
.cpanel/
...
etc/
laravel/ <- a directory containing all your project files except public
app/
bootstrap/
vendor/
artisan
mail/
public_html/ <- your laravel public directory
TA贡献1803条经验 获得超6个赞
我相信-您的Laravel文件/文件夹不应该放在根目录中。
例如,如果您的域指向public_html目录,那么所有内容都应放在该目录中。怎么样 ?让我告诉你
复制公共html中的所有文件和文件夹(包括公共文件夹)
复制公用文件夹的所有内容并将其粘贴到文档根目录(即public_html)中
删除公用文件夹
打开您的bootstrap / paths.php,然后更改'public' => __DIR__.'/../public',为'public' => __DIR__.'/..',
最后在index.php中,
更改
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
进入
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/start.php';
您的Laravel应用程序现在应该可以运行了。
添加回答
举报