在OSX上通过PEAR安装的PhpDocumentor无法正常工作 - 缺少文件?

问题描述 投票:8回答:3

我基本上是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

php macos terminal pear phpdoc
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,我通过运行sudo pear install phpdocumentor安装了phpdoc。


4
投票

要弄清楚PEAR在哪里放东西,请运行pear config-show。如果PEAR之前已经说过它已成功为你安装了PhpDocumentor,那么你要找的文件应该在php_dir设置的值中找到(在我的Mac上,这是/usr/lib/php/PEAR)。

必须在include_path中设置此php_dir值,以使大多数PEAR包正常运行。由于/usr/share/pear似乎在您的include_path中,根据您在上面包含的错误,我不得不猜测您的PEAR安装将其php_dir设置为其他位置。

现在,如果您想将PEAR安装更改为指向/usr/share/pear,您需要了解PEAR如何安装内容。许多软件包使用install-time text replacement,它将您的安装设置放入软件包的代码本身。如果你回顾一下你的pear config-show输出,你会看到其他几个* _dir设置(data_dir,bin_dir,www_dir等)。因此,在安装软件包之前,将它们设置为您想要它们非常重要。不过不用担心,对于已经安装的软件包来说还不算太晚。

要更改PEAR设置,请使用pear config-set (setting name) (setting value),如pear config-set php_dir /usr/share/pear。由于只有php_dir绝对必须在您的include_path中,因此您可以保留其他设置。我通常会确保它们都指向同一个根目录,只是为了将所有内容保存在一个整体位置。

更改任何这些设置后,您应该运行已安装的每个软件包的pear update。这将做的是执行我之前提到的install-time text replacement,但这次将使用当前的设置,即您刚刚完成设置的设置。首先在PEAR主程序包上运行它,pear update --force pear ...你必须包含--force标志,因为PEAR会意识到你要求我更新包已经'当前'并停止运行。一旦为所有已安装的软件包运行此update,您的PEAR安装文件将放置在当前include_path期望找到它们的位置。


0
投票

PhpDocumentor / phpDocumentor / phpdoc.inc是否存在?它存在于/ usr / share / pear中吗?如果答案分别为“是”和“否”,那么您需要在您的包含路径中添加任何目录PhpDocumentor。

长话短说,找到phpdoc.inc,然后从那里开始工作。

© www.soinside.com 2019 - 2024. All rights reserved.