Class 'App\Providers\URL' 上传到读取服务器时未找到

Class 'App\Providers\URL' not found when upload to read server

我刚刚从 Laravel4.2 升级到 Laravel5.3,它在 Localhost 中也能正常工作,但是当上传到服务器时,我遇到了以下错误。

糟糕,好像出了点问题。

1/1
FatalThrowableError in AppServiceProvider.php line 18:
Class 'App\Providers\URL' not found

in AppServiceProvider.php line 18
at AppServiceProvider->boot()
at call_user_func_array(array(object(AppServiceProvider), 'boot'), array()) in Container.php line 508
at Container->call(array(object(AppServiceProvider), 'boot')) in /var/www/backoffice/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line 769
at Application->bootProvider(object(AppServiceProvider)) in /var/www/backoffice/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line 752
at Application->Illuminate\Foundation\{closure}(object(AppServiceProvider), '15')
at array_walk(array(object(EventServiceProvider), object(RoutingServiceProvider), object(AuthServiceProvider), object(CookieServiceProvider), object(DatabaseServiceProvider), object(EncryptionServiceProvider), object(FilesystemServiceProvider), object(FoundationServiceProvider), object(NotificationServiceProvider), object(PaginationServiceProvider), object(SessionServiceProvider), object(ViewServiceProvider), object(HtmlServiceProvider), object(ExcelServiceProvider), object(DatatablesServiceProvider), object(AppServiceProvider), object(AuthServiceProvider), object(EventServiceProvider), object(RouteServiceProvider)), object(Closure)) in Application.php line 753
at Application->boot() in BootProviders.php line 17
at BootProviders->bootstrap(object(Application)) in Application.php line 203
at Application->bootstrapWith(array('Illuminate\Foundation\Bootstrap\DetectEnvironment', 'Illuminate\Foundation\Bootstrap\LoadConfiguration', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades', 'Illuminate\Foundation\Bootstrap\RegisterProviders', 'Illuminate\Foundation\Bootstrap\BootProviders')) in Kernel.php line 253
at Kernel->bootstrap() in Kernel.php line 144
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53

将此命名空间用于您的 AppServiceProvider.php (/app/providers)

use Illuminate\Support\ServiceProvider;

为什么使用这个 ('App\Providers\URL') 命名空间?不需要就删掉

我知道这个问题已经解决了一段时间,但由于我无法使用建议的答案来解决,我想 post 它对我来说是如何工作的,以防其他人面临同样的问题问题。

# app/Providers/AppServiceProvider.php

use Illuminate\Support\Facades\URL;

希望这对以后的人有所帮助。

强制我的 laravel 应用到 https 时这对我有用 我还使用了 TrustedProxies,它现在原生位于 laravel

<?php

  namespace App\Providers;

  use Illuminate\Support\ServiceProvider;
  use Illuminate\Support\Facades\URL;

  class AppServiceProvider extends ServiceProvider
  {
      /**
       * Bootstrap any application services.
       *
       * @return void
       */
      public function boot()
      {
          // force HTTPS
          URL::forceSchema('https');
      }

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