3

我已经把从http://www.openwall.com/phpass/下载的文件放到application/libraries

在我的控制器中,我正在使用此代码 -

$params = array(
       'phpass_hash_strength' => 8,
           'phpass_hash_portable' => FALSE
       );
$this->load->library('PasswordHash', $params);
$password = $this->passwordhash->HashPassword($pwd);

我收到这些错误 -

A PHP Error was encountered

Severity: Notice

Message: Uninitialized string offset: 3

Filename: libraries/PasswordHash.php

Line Number: 116

A PHP Error was encountered

Severity: Warning

Message: strpos() [function.strpos]: Empty delimiter

Filename: libraries/PasswordHash.php

Line Number: 116

更新

已删除PasswordHash.php,现在使用SimpleLoginSecure

4

2 回答 2

11

我在将 PasswordHash 集成到 Symfony2 时遇到了同样的问题。

为了解决它,我将PasswordHash方法重命名为__construct.

理论上,如果 PHP 5+ 找不到构造函数(http://php.net/manual/en/language.oop5.decon.php),它应该寻找与类同名的方法。我的猜测是,一旦添加了命名空间(我的集成的要求),类名的解析方式就会不同,但我根本没有调查过。

于 2013-08-28T21:57:51.027 回答
2

我认为您的问题是您正在尝试将通用 PHP 对象用作 CodeIgniter 库。你不能这样做。您需要修改原始代码才能工作,或者下载已经为 CodeIgniter 设计的贡献库之一。

CodeIgniter 库有一些限制(例如它们的实例化方式),因此仅将任何文件拖放到库文件夹中是行不通的。

于 2011-08-16T04:41:38.737 回答