1

ここでは単純なパスの問題だと思いますが、過去 2 時間さまざまな組み合わせを試してみましたが、これを解決できませんでした。コードは Windows システムでは問題なく動作していますが、Linux OS のホスティング サイトにアップロードすると、ACL ファイルが見つかりません。

これは、私のindex.phpでパスが定義されている方法です

// アプリケーション ディレクトリへのパスを定義します
定義済み ('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) .'/../application'));

// library/ が include_path にあることを確認します
set_include_path(implode(PATH_SEPARATOR、array(realpath(APPLICATION_PATH . '/../library')、get_include_path()、
)));

これはapplication.iniの行です

resources.frontController.plugins.acl = "Ed_Controller_Plugin_Acl"

これはbootstrap.php関連のコードです

保護された関数 _initAutoload()
{
   .......
   Zend_Loader_Autoloader::getInstance()->registerNamespace('Ed_');
   .......
}

これらは Linux システムで発生するエラーで、ACL が機能しません

[Sat Oct 01 14:26:44 2011] [error] [client 122.164.175.204] PHP 警告: include_once(Ed/Controller/Plugin/Acl.php): ストリームを開けませんでした: No such file or directory in /home/ webadmin/dezyre.com/library/Zend/Loader.php 行 146

[Sat Oct 01 14:26:44 2011] [error] [client 122.164.175.204] PHP 警告: include_once(): 含めるための 'Ed/Controller/Plugin/Acl.php' を開くことができませんでした (include_path='/home/webadmin /dezyre.com/application/../library:/home/webadmin/dezyre.com/library:.:/usr/share/pear:/usr/share/php') /home/webadmin/dezyre.com/ 146 行目の library/Zend/Loader.php

[2011 年 10 月 1 日 14:26:44] [エラー] [クライアント 122.164.175.204] PHP 致命的なエラー: クラス 'Ed_Controller_Plugin_Acl' が /home/webadmin/dezyre.com/library/Zend/Application/Resource/Frontcontroller に見つかりません。 php 117行目

お時間をいただきありがとうございます

4

1 に答える 1

0

*ix はすべて、ファイル名で大文字と小文字が区別されることに注意してください。したがって、ディレクトリは大文字で始まる必要があります。そうでない場合、Windows は文句を言いませんが、Linux は文句を言います。

于 2011-10-08T10:35:10.373 に答える