0

私はZEndを初めて使用します。どんな助けも大歓迎です

私は自分のサイトでさまざまな請負業者に作業を依頼しましたが、同じフォルダーの複数のコピーが別の場所にあるという混乱が生じました。今、私は入って物事をきれいにしようとしています. 楽しい!!!私が抱えている問題の 1 つは、Zend の require_once ステートメントが探しているファイルを見つけられないことです。次のようにパスを変更する必要があります。これが Zend/Gdata/App/FeedEntryParent.php にあるコードであると仮定します。

動作していません (ファイルが見つかりません):

require_once 'Zend/Gdata/App/Extension/Updated.php';

正常に動作しているようです:

require_once '/home/paul13/paul13.com/includes/library/Zend/Gdata/App/Extension/Updated.php';

問題は、ほとんどの require_once ステートメントが最初のステートメントのように記述されていることです。それらすべてに入って手動で編集する以外に、指定されたディレクトリを調べるようにrequireステートメントに指示する方法はありますか? '/home/paul13/paul13.com/includes/library/' php.ini を使用していますか? 入ってみました

include_path=".:/home/paulthetutor/paulthetutors.com/includes/library"

php.iniで、しかしそれは問題を解決していないようです。

4

2 に答える 2

1

あなたの質問のタイトルは、あなたが投稿した内容とはほとんど関係がないようです。

サイトでさまざまな請負業者に作業してもらいました...ファイルが見つかりません

動作しないコードを提供するために請負業者に支払いましたか?

問題は明らかに、最初のパス

いいえ - 問題は、インクルード パスが正しく設定されていないことです。大量の入力を避けるためのメカニズムとしてインクルード パスを使用している場合は、間違っています。インクルード パスには、他の誰かが管理しているディレクトリ ツリー内を指すエントリを含めないでください。また、非常に具体的で有効な目的がなければ、この構造を変更するべきではありません。

include/require ステートメントを本来あるべき状態に修正するまでの一時的な回避策として、インクルード パスを変更します - php.ini、httpd.conf、.htaccess のいずれかで、auto-prepend またはすべてのスクリプトの先頭に。

(ところで、フォルダとディレクトリを混同しています)

于 2012-10-10T08:57:04.543 に答える
0

質問で言及したフォルダーは、Zend ライブラリの一部です。Zend Framework プロジェクト内にライブラリ フォルダーがあるかどうか、およびそこにファイルが含まれているかどうかを確認できます。

「Zend/Gdata/App/Extension/Updated.php」

ZF ライブラリ全体を含めるには、public/index.php または Bootstrap.php ファイルで次のコードを使用します。

 // Define path to application directory
 defined('APPLICATION_PATH')
      || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

 // Define application environment
   defined('APPLICATION_ENV')
      || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

  // Ensure library/ is on include_path
 set_include_path(implode(PATH_SEPARATOR, array(
     realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
   )));

はい、require ステートメントを 1 つずつ選択的に削除し、ライブラリ ファイルのローカルにコピーされたバージョンを削除します (もちろん、コードが更新されていないことを確認した後)。

ここでデフォルトの Zend Framework アプリケーション構造を確認して、フォルダー構造を比較することをお勧めします。

于 2012-10-10T07:33:41.177 に答える