我正在尝试在共享主机上部署Laravel应用程序,但是当我尝试在浏览器中访问Web时出现HTTP错误500。
我已经配置了index.php文件,而我的php版本是5.6。
有人知道我该如何解决吗?
这是我的错误日志:
PHP Parse error: syntax error, unexpected '?' in /home/umugeoyw/umugabo/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 500
在helpers.php的第500行上,我有这个:
return $factory->of($arguments[0], $arguments[1])->times($arguments[2] ?? null);
答案 0 :(得分:3)
您的问题是PHP版本。 Laravel在这里使用Null合并运算符(??)。由于此功能仅在PHP 7.0和更高版本上可用,因此您的服务器将无法使用。
在您的DevEnv中,您可能确实有PHP 7.0 +。
您可以检出docs here。从文档中:
对于需要将三元数与isset()结合使用的常见情况,将空合并运算符(??)添加为语法糖。如果它存在且不为NULL,则返回其第一个操作数;否则返回第一个操作数。否则返回第二个操作数。
PHP 5.6无论如何都是过时的,因此您真的应该考虑进行更新!顺便说一句:Laravel需要PHP 7.1.3,在其docs中有明确说明:
PHP >= 7.1.3 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension XML PHP Extension Ctype PHP Extension JSON PHP Extension
希望这会有所帮助!
答案 1 :(得分:0)
如errorinpersona所述,您应该从cpanel设置更改服务器的php版本,并将其与本地服务器上的版本匹配,这应该很好。