はい、私はあなたがこの質問が重複の可能性があると言うことを考えていると想像しますが、同様の質問に対する回答が私が現在抱えている問題を解決しないためではありません。
次のように「phpass」という名前のライブラリをオートロードしているときに、次のエラーを受け取ります。
エラーが発生しました要求されたクラスをロードできません:Phpass
ライブラリを自動ロードするコード
$autoload['libraries'] = array('database', 'phpass');
Phpass.phpファイルはapplication/librariesフォルダーにあり、クラスはclass phpass
として宣言されています。これは、私が遭遇した他の大多数の回答で示唆されているように、問題が大文字やファイルパスに関連していないことを意味します。
私が欠けているものを教えてください。 MAMPでは完全に機能しますが、Linux Ubuntuサーバー(Apache2)にアップロードすると機能しなくなります。
おかげで、
マックス。
Edit --- Utkuからのリクエストに応じたコンストラクタメソッド
class phpass {
protected $PasswordHash;
// default values if config was not found
protected $iteration_count_log2 = 8;
protected $portable_hashes = FALSE;
/**
* Construct with configuration array
*
* @param array $config
*/
public function __construct($config = array()) {
// check if the original phpass file exists
if (!file_exists($path = dirname(__FILE__) . '/../vendor/PasswordHash.php')) {
show_error('The phpass class file was not found.');
}
include ($path);
if (!empty($config)) {
$this->initialize($config);
}
// create phpass object
$this->PasswordHash = new PasswordHash($this->iteration_count_log2, $this->portable_hashes);
}
ユーザーガイド によると、ファイル名とクラス名の大文字化が問題だと思います。
phppass.php
はPhppass.php
class phpass
はclass Phpass