PHP 奇怪的解析错误
PHP odd parse errors
所以我现在正在拔头发:/
我在 Windows Server 2012 R2 Datacenter Edition 上设置了 PHP 7.1.11 的 IIS 网络服务器,当我加载页面时它抛出解析错误:
Parse error: syntax error, unexpected '[' in functions.php on line 138
现在出错的实际代码如下
$hash = password_hash($nieuwWachtwoord,PASSWORD_DEFAULT, ["cost" => 13]);
当我把它改成
$hash = password_hash($nieuwWachtwoord,PASSWORD_DEFAULT,array("cost" => 13));
它执行代码没有任何问题。
但是当我调用另一个函数时运行下面的代码
Database::fetch_assoc("SQL-STRING", array($id))[0]['cdate'];
它还会抛出一个解析错误。令人沮丧的是,这不应该发生,因为在 php7.1 中应该可以在旅途中声明这样的数组(并且在 Linux 机器 运行 ubuntu 与 apache2 一样工作)
还有最后一种情况,我 "assume" 返回一个数组最多应该抛出一个未定义的索引错误而不是解析错误。
有谁知道可能是什么原因吗?
提前致谢!
好的,感谢 ceejayoz,我发现了问题。
当我将 phpinfo() 放在一个名为 test.php 的文件中时,它告诉我我是 运行 PHP 7.1 .
现在,实际调用引发解析错误的脚本的文件具有 .html 扩展名。 IIS 对指向旧 5.3 可执行文件的 html 文件有不同的处理程序映射。
现在我更改了 .html 文件的处理程序,它再次像魅力一样工作!
非常感谢!
所以我现在正在拔头发:/
我在 Windows Server 2012 R2 Datacenter Edition 上设置了 PHP 7.1.11 的 IIS 网络服务器,当我加载页面时它抛出解析错误:
Parse error: syntax error, unexpected '[' in functions.php on line 138
现在出错的实际代码如下
$hash = password_hash($nieuwWachtwoord,PASSWORD_DEFAULT, ["cost" => 13]);
当我把它改成
$hash = password_hash($nieuwWachtwoord,PASSWORD_DEFAULT,array("cost" => 13));
它执行代码没有任何问题。
但是当我调用另一个函数时运行下面的代码
Database::fetch_assoc("SQL-STRING", array($id))[0]['cdate'];
它还会抛出一个解析错误。令人沮丧的是,这不应该发生,因为在 php7.1 中应该可以在旅途中声明这样的数组(并且在 Linux 机器 运行 ubuntu 与 apache2 一样工作)
还有最后一种情况,我 "assume" 返回一个数组最多应该抛出一个未定义的索引错误而不是解析错误。
有谁知道可能是什么原因吗?
提前致谢!
好的,感谢 ceejayoz,我发现了问题。 当我将 phpinfo() 放在一个名为 test.php 的文件中时,它告诉我我是 运行 PHP 7.1 .
现在,实际调用引发解析错误的脚本的文件具有 .html 扩展名。 IIS 对指向旧 5.3 可执行文件的 html 文件有不同的处理程序映射。
现在我更改了 .html 文件的处理程序,它再次像魅力一样工作!
非常感谢!