Laravel项目创建问题


Laravel project creation issue

当我创建一个laravel项目时,一切都很顺利。然而,当我试图访问默认的index.php页面,我得到一个500错误。在检查了日志后,我发现这是Laravels源代码中的语法错误。我发现它是……

[Wed Nov 02 01:47:45.658110 2016] [:error] [pid 4561] [client .[70.66.236.55:55751] PHP解析错误:syntax error, unexpected '。',期望'&'或变量(T_VARIABLE) in/var/www/html/proj-dir/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php第475行

修复后,一个新的会弹出。这样又重复了几次。不确定他们是否应该在那里,但我假设……$args'不是一个有效的语法(即使是laravel)

在"修复"所有错误之后,我在浏览器中看到了一个实际的错误消息!

>     ErrorException in Gate.php line 132:
>     Missing argument 2 for Illuminate'Auth'Access'Gate::policy(), called in
> /var/www/html/proj-dir/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
> on line 237 and defined
>     1. in Gate.php line 132
>     2. at HandleExceptions->handleError('2', 'Missing argument 2 for Illuminate'Auth'Access'Gate::policy(), called in
> /var/www/html/proj-dir/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
> on line 237 and defined',
> '/var/www/html/proj-dir/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php',
> '132', array('class' => array('App'Model',
> 'App'Policies'ModelPolicy'), 'this' => object(Gate))) in Gate.php line
> 132
>     3. at Gate->policy(array('App'Model', 'App'Policies'ModelPolicy')) in Facade.php line 237
>     4. at Facade::__callStatic('policy', array('App'Model', 'App'Policies'ModelPolicy')) in AuthServiceProvider.php line 25
>     5. at Gate::policy('App'Model', 'App'Policies'ModelPolicy') in AuthServiceProvider.php line 25
>     6. at AuthServiceProvider->registerPolicies() in AuthServiceProvider.php line 26
>     7. at AuthServiceProvider->boot()
>     8. at call_user_func_array(array(object(AuthServiceProvider), 'boot'), array()) in Container.php line 508
>     9. at Container->call(array(object(AuthServiceProvider), 'boot')) in Application.php line 769
>     10. at Application->bootProvider(object(AuthServiceProvider)) in Application.php line 752
>     11. at Application->Illuminate'Foundation'{closure}(object(AuthServiceProvider),
> '13')
>     12. 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(AppServiceProvider),
> object(AuthServiceProvider), object(EventServiceProvider),
> object(RouteServiceProvider)), object(Closure)) in Application.php
> line 753
>     13. at Application->boot() in BootProviders.php line 17
>     14. at BootProviders->bootstrap(object(Application)) in Application.php line 203
>     15. 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
>     16. at Kernel->bootstrap() in Kernel.php line 144
>     17. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
>     18. at Kernel->handle(object(Request)) in index.php line 54

我试过多次重新创建项目,但总是在同一个地方结束。不知道怎么继续

仅供参考,这些不是语法错误。很可能您使用的是旧版本的PHP。确保您的服务器满足以下要求:

PHP>=

OpenSSL PHP Extension

PDO PHP Extension

Tokenizer PHP扩展

XML PHP扩展

也不要忘记给目录如storage, bootstrap所需的权限。

安装Laravel后,您可能需要配置一些权限。存储bootstrap/cache目录中的目录应该是可写的,否则Laravel将无法运行。如果你正在使用Homestead虚拟机,这些权限应该是什么

在这里,您可以一目了然地找到启动和运行laravel项目所需的所有内容。

https://laravel.com/docs/5.3