php密码\u哈希的语法错误

php密码\u哈希的语法错误,php,hash,Php,Hash,我直接从中得到这个,但是我仍然得到一个语法错误。这是代码。这是导致错误的第一行 $options = [ 'cost' => 12, ]; $hash = password_hash('$plaintext', PASSWORD_BCRYPT, $options)."\n"; 分析错误:语法错误,意外的“[” 我对php非常陌生,不熟悉此数组语法,因此在解决此问题时遇到困难。我缺少了什么?谢谢!您希望改为: $options = array( 'cost' => 12 )

我直接从中得到这个,但是我仍然得到一个语法错误。这是代码。这是导致错误的第一行

$options = [
  'cost' => 12,
];
$hash = password_hash('$plaintext', PASSWORD_BCRYPT, $options)."\n"; 
分析错误:语法错误,意外的“[”

我对php非常陌生,不熟悉此数组语法,因此在解决此问题时遇到困难。我缺少了什么?谢谢!

您希望改为:

$options = array(
  'cost' => 12
);
文档中使用的数组语法适用于PHP5.5。
password\u hash()


此外,我怀疑您只需要
$plaintext
,而不是
'$plaintext'
。除非您希望所有密码都是“$plaintext”。

我认为您使用的是旧版本的PHP。您能执行以下代码吗:

<?php
 echo 'Current PHP version: ' . phpversion();

如果
$options
是数组,则该代码必须为

$options = array(
  'cost' => 12,
);
$hash = password_hash('$plaintext', PASSWORD_BCRYPT, $options)."\n"; 

您使用的是短数组语法,它将array()替换为[]。它仅适用于PHP5.4>

因此,不是:

$options = [
  'cost' => 12,
];
你想要:

$options = array(
  'cost' => 12,
);
文件:(见示例1)


希望这能有所帮助。

你的PHP版本不支持速记数组语法。解释了为什么我会得到一个-1?这是一个合理的问题。天啊。谢谢,伙计!马上返回atcha!谢谢。你说得对。我的服务器只在5.3.6上。这太糟糕了。我找不到一个易于实现的bcrypt库。@usr55410-使用Brad提到的数组语法d、 以及PHP的。