8

私は基本的に PEAR (および PhpDocumentor) の初心者です。PEAR CLI を使用して PhpDocumentor をインストールしましたが、すべてうまくいったように見えました...使用するまでは、次のエラーが発生しました。

Warning: require(PhpDocumentor/phpDocumentor/phpdoc.inc): 
failed to open stream: No such file or directory in 
/usr/local/bin/phpdoc on line 40

Fatal error: require(): Failed opening required 
'PhpDocumentor/phpDocumentor/phpdoc.inc' (include_path='.:/usr/share/pear') 
in /usr/local/bin/phpdoc on line 40

エラーについてオンラインで何も見つけられなかったので、エラーなしでコマンドラインからアンインストール/再インストールしましたが、同じ問題が発生しています。私は何かを見落としましたか?私が言ったように、私は PEAR にまったく慣れていません :)

ありがとう。D

4

3 に答える 3

4

まあ、この質問はコミカルに古いですが、私はこの同じ問題を抱えていて、頭を悩ませた後に解決したので、共有したいと思いました.

私はpear config-show@ashnazgの詳細として実行し、私のphp_dirはに設定されてい/usr/lib/phpます。phpdoc -hそこから走ってみたら・・・出来上がり! - 出来た。だから私にとっての問題は、PHPがこのパスについて知る必要があるということでした。私はphp.ini(私にとっては/private/etc/php.iniにあります)を編集include_pathし、編集して/usr/lib/php. 私の場合、次のようになりました。

include_path = ".:/usr/lib/php"

その後、それは魔法のように機能します!これが他の誰かに役立つことを願っています。FWIW、私は Snow Leopard を使用しており、実行して phpdoc をインストールしましたsudo pear install phpdocumentor

于 2012-01-24T19:18:57.750 に答える
4

PEAR がどこに物を置いているかを調べるには、 を実行しpear config-showます。PEAR が以前に PhpDocumentor を正常にインストールしたと通知した場合、探しているファイルはphp_dir設定の値 (私の Mac では/usr/lib/php/PEAR) にあるはずです。

php_dirほとんどの PEAR パッケージが正しく機能するには、この値を include_path に設定する必要があります。DOES が include_path にあるように見えるので、上記のエラーによると、PEAR インストールが別の場所に設定され/usr/share/pearていると推測する必要があります。php_dir

ここで、PEAR インストールを を指すように変更したい場合は、PEAR/usr/share/pearがどのようにインストールするかについて理解する必要があります。多くのパッケージはinstall-time text replacement、インストールの設定をパッケージのコード自体に入れる を使用します。出力を振り返ると、pear config-show他のいくつかの *_dir 設定 (data_dir、bin_dir、www_dir など) が表示されます。そのため、パッケージをインストールする前に、これらを希望どおりに設定することが重要です。ただし、既にインストール済みのパッケージに対して遅すぎるということはありません。

PEAR の設定を変更するにはpear config-set (setting name) (setting value)、 , likeを使用しますpear config-set php_dir /usr/share/pear。include_path に含める必要があるのは php_dir だけなので、他の設定はそのままにしておくことができます。私は通常、すべてを 1 つの全体的な場所に保持するために、すべてが同じルート ディレクトリを指していることを確認します。

これらの設定のいずれかを変更したら、pear update既にインストールしたすべてのパッケージを実行する必要があります。これが行うことは、install-time text replacement先ほど述べた実行ですが、今回は現在の設定、つまり設定を終了したばかりの設定を使用します。これを最初に PEAR メイン パッケージで実行します。...フラグpear update --force pearを含める必要があります。PEAR は、パッケージが既に「最新」であるのにパッケージを更新するように求めていることを認識し、それ自体を停止するからです。インストールされているすべてのパッケージに対してこれを実行すると、PEAR インストールのファイルが、現在のパッケージが期待する場所に配置されます。--forceupdateinclude_path

于 2009-05-16T12:42:49.563 に答える
0

PhpDocumentor / phpDocumentor / phpdoc.incは存在しますか?/ usr / share / pearに存在しますか?答えがそれぞれ「はい」と「いいえ」の場合は、PhpDocumentorのディレクトリをインクルードパスに追加する必要があります。

簡単に言うと、phpdoc.incを見つけて、そこから作業します。

于 2009-05-15T22:14:27.467 に答える