laravel artisan在正确的版本上显示系统php的错误

时间:2016-02-17 17:34:16

标签: php laravel laravel-5 artisan

我在CentOS上安装了laravel 5.0,在网络服务器上的CLI和5.6上安装了PHP版本5.4.45。如果我运行php -v我会

Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with the ionCube PHP Loader v4.6.0, Copyright (c) 2002-2014, by ionCube Ltd.

在composer.json和laravel文档中声明版本5.0符合我的要求:

Server requirements on laravel documentation

  1. PHP> = 5.4,PHP< 7
  2. Mcrypt PHP Extension
  3. OpenSSL PHP扩展
  4. Mbstring PHP扩展
  5. Tokenizer PHP扩展
  6. 服务器上的composer.json如下:

    如果我尝试使用artisan命令,则不会返回任何输出(因为display_errors变量设置为不显示错误)。

    如果我php -d display_errors artisan我得到以下输出:

    Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/vhosts/website/httpdocs/config/app.php on line 153
    

    当PHP版本不适合laravel所需的版本时,会发生该错误。

    那么,可能导致此错误的原因是什么?顺便说一句,我没有权限更新PHP安装或其他sudo内容。

    编辑: app.config文件就在这里。

    <?php
    
    
    
    if (env('APP_ENV') == 'my_local_mac'){
    
        return [
    
        /*
        |--------------------------------------------------------------------------
        | Application Debug Mode
        |--------------------------------------------------------------------------
        |
        | When your application is in debug mode, detailed error messages with
        | stack traces will be shown on every error that occurs within your
        | application. If disabled, a simple generic error page is shown.
        |
        */
    
        'debug' => env('APP_DEBUG'),
    
        /*
        |--------------------------------------------------------------------------
        | Application URL
        |--------------------------------------------------------------------------
        |
        | This URL is used by the console to properly generate URLs when using
        | the Artisan command line tool. You should set this to the root of
        | your application so that it is used when running Artisan tasks.
        |
        */
    
        'url' => 'http://ivan.localhost/',
    
        /*
        |--------------------------------------------------------------------------
        | Application Timezone
        |--------------------------------------------------------------------------
        |
        | Here you may specify the default timezone for your application, which
        | will be used by the PHP date and date-time functions. We have gone
        | ahead and set this to a sensible default for you out of the box.
        |
        */
    
        'timezone' => 'UTC',
    
        /*
        |--------------------------------------------------------------------------
        | Application Locale Configuration
        |--------------------------------------------------------------------------
        |
        | The application locale determines the default locale that will be used
        | by the translation service provider. You are free to set this value
        | to any of the locales which will be supported by the application.
        |
        */
    
        'locale' => 'es',
    
        /*
        |--------------------------------------------------------------------------
        | Application Fallback Locale
        |--------------------------------------------------------------------------
        |
        | The fallback locale determines the locale to use when the current one
        | is not available. You may change the value to correspond to any of
        | the language folders that are provided through your application.
        |
        */
    
        'fallback_locale' => 'en',
    
        /*
        |--------------------------------------------------------------------------
        | Encryption Key
        |--------------------------------------------------------------------------
        |
        | This key is used by the Illuminate encrypter service and should be set
        | to a random, 32 character string, otherwise these encrypted strings
        | will not be safe. Please do this before deploying an application!
        |
        */
    
        'key' => env('APP_KEY', 'SomeRandomString'),
    
        'cipher' => MCRYPT_RIJNDAEL_128,
    
        /*
        |--------------------------------------------------------------------------
        | Logging Configuration
        |--------------------------------------------------------------------------
        |
        | Here you may configure the log settings for your application. Out of
        | the box, Laravel uses the Monolog PHP logging library. This gives
        | you a variety of powerful log handlers / formatters to utilize.
        |
        | Available Settings: "single", "daily", "syslog", "errorlog"
        |
        */
    
        'log' => 'daily',
    
        /*
        |--------------------------------------------------------------------------
        | Autoloaded Service Providers
        |--------------------------------------------------------------------------
        |
        | The service providers listed here will be automatically loaded on the
        | request to your application. Feel free to add your own services to
        | this array to grant expanded functionality to your applications.
        |
        */
    
        'providers' => [
    
            /*
             * Laravel Framework Service Providers...
             */
            'Illuminate\Foundation\Providers\ArtisanServiceProvider',
            'Illuminate\Auth\AuthServiceProvider',
            'Illuminate\Bus\BusServiceProvider',
            'Illuminate\Cache\CacheServiceProvider',
            'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
            'Illuminate\Routing\ControllerServiceProvider',
            'Illuminate\Cookie\CookieServiceProvider',
            'Illuminate\Database\DatabaseServiceProvider',
            'Illuminate\Encryption\EncryptionServiceProvider',
            'Illuminate\Filesystem\FilesystemServiceProvider',
            'Illuminate\Foundation\Providers\FoundationServiceProvider',
            'Illuminate\Hashing\HashServiceProvider',
            'Illuminate\Mail\MailServiceProvider',
            'Illuminate\Pagination\PaginationServiceProvider',
            'Illuminate\Pipeline\PipelineServiceProvider',
            'Illuminate\Queue\QueueServiceProvider',
            'Illuminate\Redis\RedisServiceProvider',
            'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
            'Illuminate\Session\SessionServiceProvider',
            'Illuminate\Translation\TranslationServiceProvider',
            'Illuminate\Validation\ValidationServiceProvider',
            'Illuminate\View\ViewServiceProvider',
    
            /*
             * Application Service Providers...
             */
            'MyProject\Providers\AppServiceProvider',
            'MyProject\Providers\BusServiceProvider',
            'MyProject\Providers\ConfigServiceProvider',
            'MyProject\Providers\EventServiceProvider',
            'MyProject\Providers\RouteServiceProvider',
            'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
            'Torann\GeoIP\GeoIPServiceProvider',
            \Laravel\Socialite\SocialiteServiceProvider::class,
            Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class,
            'Efriandika\LaravelSettings\SettingsServiceProvider',
            /*
             * Custom Service Providers
             */
            'MyProject\Providers\FrontViewGlobals',
            'MyProject\Providers\MainServiceProvider'
    
        ],
    
        /*
        |--------------------------------------------------------------------------
        | Class Aliases
        |--------------------------------------------------------------------------
        |
        | This array of class aliases will be registered when this application
        | is started. However, feel free to register as many as you wish as
        | the aliases are "lazy" loaded so they don't hinder performance.
        |
        */
    
        'aliases' => [
    
            'App'       => 'Illuminate\Support\Facades\App',
            'Artisan'   => 'Illuminate\Support\Facades\Artisan',
            'Auth'      => 'Illuminate\Support\Facades\Auth',
            'Blade'     => 'Illuminate\Support\Facades\Blade',
            'Bus'       => 'Illuminate\Support\Facades\Bus',
            'Cache'     => 'Illuminate\Support\Facades\Cache',
            'Config'    => 'Illuminate\Support\Facades\Config',
            'Cookie'    => 'Illuminate\Support\Facades\Cookie',
            'Crypt'     => 'Illuminate\Support\Facades\Crypt',
            'DB'        => 'Illuminate\Support\Facades\DB',
            'Eloquent'  => 'Illuminate\Database\Eloquent\Model',
            'Event'     => 'Illuminate\Support\Facades\Event',
            'File'      => 'Illuminate\Support\Facades\File',
            'Hash'      => 'Illuminate\Support\Facades\Hash',
            'Input'     => 'Illuminate\Support\Facades\Input',
            'Inspiring' => 'Illuminate\Foundation\Inspiring',
            'Lang'      => 'Illuminate\Support\Facades\Lang',
            'Log'       => 'Illuminate\Support\Facades\Log',
            'Mail'      => 'Illuminate\Support\Facades\Mail',
            'Password'  => 'Illuminate\Support\Facades\Password',
            'Queue'     => 'Illuminate\Support\Facades\Queue',
            'Redirect'  => 'Illuminate\Support\Facades\Redirect',
            'Redis'     => 'Illuminate\Support\Facades\Redis',
            'Request'   => 'Illuminate\Support\Facades\Request',
            'Response'  => 'Illuminate\Support\Facades\Response',
            'Route'     => 'Illuminate\Support\Facades\Route',
            'Schema'    => 'Illuminate\Support\Facades\Schema',
            'Session'   => 'Illuminate\Support\Facades\Session',
            'Storage'   => 'Illuminate\Support\Facades\Storage',
            'URL'       => 'Illuminate\Support\Facades\URL',
            'Validator' => 'Illuminate\Support\Facades\Validator',
            'View'      => 'Illuminate\Support\Facades\View',
            'GeoIP'     => 'Torann\GeoIP\GeoIPFacade',
            'Socialite' => \Laravel\Socialite\Facades\Socialite::class,
            'Settings'  => Efriandika\LaravelSettings\Facades\Settings::class,
        ]
    
    ];
    
    } else {
        return [
    
        /*
        |--------------------------------------------------------------------------
        | Application Debug Mode
        |--------------------------------------------------------------------------
        |
        | When your application is in debug mode, detailed error messages with
        | stack traces will be shown on every error that occurs within your
        | application. If disabled, a simple generic error page is shown.
        |
        */
    
        'debug' => env('APP_DEBUG'),
    
        /*
        |--------------------------------------------------------------------------
        | Application URL
        |--------------------------------------------------------------------------
        |
        | This URL is used by the console to properly generate URLs when using
        | the Artisan command line tool. You should set this to the root of
        | your application so that it is used when running Artisan tasks.
        |
        */
    
        'url' => 'http://entrenamiento.com/es/',
    
        /*
        |--------------------------------------------------------------------------
        | Application Timezone
        |--------------------------------------------------------------------------
        |
        | Here you may specify the default timezone for your application, which
        | will be used by the PHP date and date-time functions. We have gone
        | ahead and set this to a sensible default for you out of the box.
        |
        */
    
        'timezone' => 'UTC',
    
        /*
        |--------------------------------------------------------------------------
        | Application Locale Configuration
        |--------------------------------------------------------------------------
        |
        | The application locale determines the default locale that will be used
        | by the translation service provider. You are free to set this value
        | to any of the locales which will be supported by the application.
        |
        */
    
        'locale' => 'es',
    
        /*
        |--------------------------------------------------------------------------
        | Application Fallback Locale
        |--------------------------------------------------------------------------
        |
        | The fallback locale determines the locale to use when the current one
        | is not available. You may change the value to correspond to any of
        | the language folders that are provided through your application.
        |
        */
    
        'fallback_locale' => 'en',
    
        /*
        |--------------------------------------------------------------------------
        | Encryption Key
        |--------------------------------------------------------------------------
        |
        | This key is used by the Illuminate encrypter service and should be set
        | to a random, 32 character string, otherwise these encrypted strings
        | will not be safe. Please do this before deploying an application!
        |
        */
    
        'key' => env('APP_KEY', 'SomeRandomString'),
    
        'cipher' => MCRYPT_RIJNDAEL_128,
    
        /*
        |--------------------------------------------------------------------------
        | Logging Configuration
        |--------------------------------------------------------------------------
        |
        | Here you may configure the log settings for your application. Out of
        | the box, Laravel uses the Monolog PHP logging library. This gives
        | you a variety of powerful log handlers / formatters to utilize.
        |
        | Available Settings: "single", "daily", "syslog", "errorlog"
        |
        */
    
        'log' => 'daily',
    
        /*
        |--------------------------------------------------------------------------
        | Autoloaded Service Providers
        |--------------------------------------------------------------------------
        |
        | The service providers listed here will be automatically loaded on the
        | request to your application. Feel free to add your own services to
        | this array to grant expanded functionality to your applications.
        |
        */
    
        'providers' => [
    
            /*
             * Laravel Framework Service Providers...
             */
            'Illuminate\Foundation\Providers\ArtisanServiceProvider',
            'Illuminate\Auth\AuthServiceProvider',
            'Illuminate\Bus\BusServiceProvider',
            'Illuminate\Cache\CacheServiceProvider',
            'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
            'Illuminate\Routing\ControllerServiceProvider',
            'Illuminate\Cookie\CookieServiceProvider',
            'Illuminate\Database\DatabaseServiceProvider',
            'Illuminate\Encryption\EncryptionServiceProvider',
            'Illuminate\Filesystem\FilesystemServiceProvider',
            'Illuminate\Foundation\Providers\FoundationServiceProvider',
            'Illuminate\Hashing\HashServiceProvider',
            'Illuminate\Mail\MailServiceProvider',
            'Illuminate\Pagination\PaginationServiceProvider',
            'Illuminate\Pipeline\PipelineServiceProvider',
            'Illuminate\Queue\QueueServiceProvider',
            'Illuminate\Redis\RedisServiceProvider',
            'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
            'Illuminate\Session\SessionServiceProvider',
            'Illuminate\Translation\TranslationServiceProvider',
            'Illuminate\Validation\ValidationServiceProvider',
            'Illuminate\View\ViewServiceProvider',
    
            /*
             * Application Service Providers...
             */
            'MyProject\Providers\AppServiceProvider',
            'MyProject\Providers\BusServiceProvider',
            'MyProject\Providers\ConfigServiceProvider',
            'MyProject\Providers\EventServiceProvider',
            'MyProject\Providers\RouteServiceProvider',
            'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
            \Laravel\Socialite\SocialiteServiceProvider::class,
            Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class,
            'Efriandika\LaravelSettings\SettingsServiceProvider',
    
            /*
             * Custom Service Providers
             */
            'MyProject\Providers\FrontViewGlobals',
            'MyProject\Providers\MainServiceProvider'
    
        ],
    
        /*
        |--------------------------------------------------------------------------
        | Class Aliases
        |--------------------------------------------------------------------------
        |
        | This array of class aliases will be registered when this application
        | is started. However, feel free to register as many as you wish as
        | the aliases are "lazy" loaded so they don't hinder performance.
        |
        */
    
        'aliases' => [
    
            'App'       => 'Illuminate\Support\Facades\App',
            'Artisan'   => 'Illuminate\Support\Facades\Artisan',
            'Auth'      => 'Illuminate\Support\Facades\Auth',
            'Blade'     => 'Illuminate\Support\Facades\Blade',
            'Bus'       => 'Illuminate\Support\Facades\Bus',
            'Cache'     => 'Illuminate\Support\Facades\Cache',
            'Config'    => 'Illuminate\Support\Facades\Config',
            'Cookie'    => 'Illuminate\Support\Facades\Cookie',
            'Crypt'     => 'Illuminate\Support\Facades\Crypt',
            'DB'        => 'Illuminate\Support\Facades\DB',
            'Eloquent'  => 'Illuminate\Database\Eloquent\Model',
            'Event'     => 'Illuminate\Support\Facades\Event',
            'File'      => 'Illuminate\Support\Facades\File',
            'Hash'      => 'Illuminate\Support\Facades\Hash',
            'Input'     => 'Illuminate\Support\Facades\Input',
            'Inspiring' => 'Illuminate\Foundation\Inspiring',
            'Lang'      => 'Illuminate\Support\Facades\Lang',
            'Log'       => 'Illuminate\Support\Facades\Log',
            'Mail'      => 'Illuminate\Support\Facades\Mail',
            'Password'  => 'Illuminate\Support\Facades\Password',
            'Queue'     => 'Illuminate\Support\Facades\Queue',
            'Redirect'  => 'Illuminate\Support\Facades\Redirect',
            'Redis'     => 'Illuminate\Support\Facades\Redis',
            'Request'   => 'Illuminate\Support\Facades\Request',
            'Response'  => 'Illuminate\Support\Facades\Response',
            'Route'     => 'Illuminate\Support\Facades\Route',
            'Schema'    => 'Illuminate\Support\Facades\Schema',
            'Session'   => 'Illuminate\Support\Facades\Session',
            'Storage'   => 'Illuminate\Support\Facades\Storage',
            'URL'       => 'Illuminate\Support\Facades\URL',
            'Validator' => 'Illuminate\Support\Facades\Validator',
            'View'      => 'Illuminate\Support\Facades\View',
            'Socialite' => \Laravel\Socialite\Facades\Socialite::class,
            'Settings'  => Efriandika\LaravelSettings\Facades\Settings::class,
        ]
    
    
    ];
    };
    

1 个答案:

答案 0 :(得分:0)

尝试将您的socialite和laravellogserviceprovider条目转换为字符串文字而不是:: class样式。 可能你的全局路径中的php版本不支持网络服务器上的:: class语法,因为它已正确配置php5.6支持:: class语法。因此,您不会在Web服务器上收到任何错误,但在使用路径中的php设置的控制台中会引发错误。

/* Providers array */
Change:
\Laravel\Socialite\SocialiteServiceProvider::class,
    Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class,  
To:
    'Laravel\Socialite\SocialiteServiceProvider',
    'Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider',
/** Alias */  
Change:  
    'Socialite' => \Laravel\Socialite\Facades\Socialite::class,
    'Settings'  => Efriandika\LaravelSettings\Facades\Settings::class,  
To:  
    'Socialite' => 'Laravel\Socialite\Facades\Socialite',
    'Settings'  => 'Efriandika\LaravelSettings\Facades\Settings',