-1

ZendFrameworkファイルをにダンプしました

"home / hotbuzz / public_html / include / zend /"

私のホスティング:Linux

スクリプトにロードしたい。ロードするたびに、このエラーが発生します。

いくつかの情報:私は自分のZendについて尋ねました、彼らが「usr / local/zend」にあると言ったホスティングの人たちに

しかし、私はこのhome / hotbuzz / public_html / include /zend/を使用したいと思います

私は自分のPHPにこれらの行を追加しました:

set_include_path(dirname(__FILE__).';'.get_include_path());
require_once 'Zend/Loader.php';

このエラーが発生します

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Exception.php' (include_path='/home/hotbuzz/public_html/include;.:/usr/lib/php:/usr/local/lib/php') in /home/hotbuzz/public_html/include/Zend/Loader.php on line 87

PHPコードにインクルードパスを設定して設定します(.htaccess)。

4

4 に答える 4

11

前の質問で言ったように。使ってはいけません ';' ただし、PATH_SEPARATORを使用してください。これは、システムの正しい区切り文字を表すPHP定数です(Windowsではセミコロン、Linuxではコロン)

set_include_path(dirname(__FILE__).PATH_SEPARATOR.get_include_path());
于 2009-01-17T08:06:30.907 に答える
3

あなたはそれを正しくやっていました。メイン スクリプト (index.php) の最初の行を呼び出しset_include_pathてから、zend フレームワーク ファイルをインクルード/要求する必要があります。Zend Framework を含むフォルダーの名前を「Zend」(大文字の Z) に変更して、ZF の命名変換に従うことを忘れないでください。次に、Zend フォルダーをインクルード ディレクトリに配置します。

<?php
$newIncludePath = array();
$newIncludePath[] = '.';
$newIncludePath[] = 'include';
$newIncludePath[] = get_include_path();
$newIncludePath = implode(PATH_SEPARATOR, $newIncludePath);
set_include_path($newIncludePath);
// now include path is setup and we can use zend
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoLoad('Zend_Loader', true);
// the rest of the code
?>

インクルード ディレクトリ (Zend ディレクトリを含む) ではなく、インクルード パスに Zend ディレクトリを配置する場合は、これを使用できません。

require_once 'Zend/Loader';

代わりに、次を使用する必要があります。

require_once 'Loader';

これは良い考えではありません。Zend/* モデルを使用すると、Zend Framework からどのファイルが含まれ、どのファイルが自分の所有であるかを覚えておくことができます。そのため、インクルード ディレクトリをインクルード パスに追加するだけです。

于 2009-01-17T11:15:33.570 に答える
0

include ではなく auto_prepend を使用すると、より成功する可能性があります...

php_value include_path /home/hotbuzz/public_html/include/zend/
php_value auto_prepend_file Zend/Loader.php

起動時と実行時のApacheログには何が表示されますか?

于 2009-01-17T08:59:55.263 に答える
-1

以下のコードを、bootstrap.php の最初の行に追加できます。

set_include_path('.' . PATH_SEPARATOR . '../library' . PATH_SEPARATOR . '../application/models/' . PATH_SEPARATOR . get_include_path());
于 2010-10-01T05:26:05.113 に答える