如何在 laravel 5 中将公用文件夹更改为public_html

2022-08-30 08:38:09

我正在使用一个共享主机,它使用cPanel作为其控制面板,并且在cPanel中是默认的根目录,因此我无法让我的Laravel应用程序正常工作。public_html

有没有办法让Laravel使用而不是公用文件夹?public_html


答案 1

通过简单的搜索很容易找到这个。

请参见: https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5

在索引中.php添加以下 3 行。

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});

编辑:


正如Burak Erdem所提到的,另一种选择(更可取)是将其放在方法中。\App\Providers\AppServiceProviderregister()

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    // ...

    $this->app->bind('path.public', function() {
        return base_path('public_html');
    });
}

答案 2

如果 Robert 的解决方案对您不起作用,您也可以在应用程序服务提供商 () 注册以下代码。index.phpApp\Providers\AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

public function register()
{
    $this->app->bind('path.public', function() {
        return base_path().'/public_html';
    });
}

推荐