我尝试在7.0 php版本的apache服务器上运行Yii2应用。Yii2框架包版本:
yiisoft/yii2 3.0.x-dev 9f215f3
因此,当我在浏览器中运行site.loc索引页面时,出现错误
Parse error: syntax error, unexpected '=' in /var/www/html/remi-web.co/vendor/yiisoft/yii2/di/Container.php on line 365
导致错误的代码段:
/* @var $reflection ReflectionClass */
[$reflection, $dependencies] = $this->getDependencies($class);
equation语句左侧的array []。我以前从未遇到过这种说法,所以我什至不知道在哪里寻找解释。
我刚刚在Apache上安装了php7.0,所以也许它需要安装一些模块或在设置中启用某些属性才能正确运行它。
phpinfo详细信息的一部分:
PHP Version 7.0.33-23+ubuntu18.04.1+deb.sury.org+1
Loaded Modules core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php7 mod_reqtimeout mod_rewrite mod_setenvif mod_status
它可在PHP版本7.0.32的生产服务器上使用,但在我的本地计算机上不可用。
自PHP 7.1起,我们就具有破坏性的数组分配。
[$x,$y] = [1,2];
echo $x; // gives 1
这是list()
的简写:
list($x,$y) = [1,2];
echo $x; // gives 1
您可以阅读有关该PHP 7.1功能here的信息。