【问题标题】:Installing phpDocumentor via PEAR, "command not found"通过 PEAR 安装 phpDocumentor,“找不到命令”
【发布时间】:2013-12-09 11:49:02
【问题描述】:

我在 CentOS 机器上通过 PEAR 安装 phpDocumentor 时遇到问题,我什至不知道这是 pear 还是 php 相关的。

这是我执行的命令及其输出:

# pear -v install phpdoc/phpDocumentor
## http://pastebin.com/2ijRG9KW

# /usr/local/bin/phpdoc
-bash: /usr/local/bin/phpdoc: No such file or directory

# tree -a -h /usr/local/lib/php/phpDocumentor/
## http://pastebin.com/NjynYKPL

我已经包含了 tree 命令,因为我认为那里有些地方不太好......

乍一看,这是 PEAR 还是 phpDocumentor 的问题?

编辑

试过

# whereis phpdoc
phpdoc: /usr/local/bin/phpdoc

但是

# cd /usr/local/bin
# ls -l | grep -i phpdoc
lrwxrwxrwx.  1 root root       48 Nov 23 21:46 phpdoc ->         /usr/local/lib/php/phpDocumentor2/bin/phpdoc.php
-rwxr-xr-x.  1 root root     1039 Nov 24 21:31 .tmpphpdoc*

猜猜看……

-bash: cd: /usr/local/lib/php/phpDocumentor2: No such file or directory

但是有一个 phpDocumentor 文件夹(而不是 phpDocumentor2),它的树在这个 pastebin 上可用

【问题讨论】:

  • 报错说/usr/local/bin/目录下没有phpdoc命令。您必须找出它在哪里(可能在 /usr/local/lib/php/phpDocumentor/ 的某个地方)。试试 which phpdoc 和/或 where phpdoc
  • 我唯一拥有的是无效链接:\(见编辑)

标签: php pear phpdoc


【解决方案1】:

您可以使用pear config-show 查看它使用哪个目录作为bin_dir,这是PEAR 安装程序放置其“二进制文件”的位置。我原以为主要的 Linux 发行版已经预先配置了他们的 PEAR 设置以使用/usr/bin 作为正确的位置,所以你可以试试/usr/bin/phpdoc。当然,/usr/bin 几乎总是在您的默认 PATH 中,因此通常只需尝试 phpdoc 就足够了。

PEAR 安装程序的内存限制错误意味着 PEAR 安装程序本身在尝试安装 phpDocumentor 时崩溃。您需要编辑 php.ini 文件以增加 memory_limit 参数的值。看起来现在它默认为很小的 8MB。除非这是一台小型/旧计算机,否则我建议至少 256MB。然后,您应该尝试重新安装 (pear install --force phpdoc/phpdocumentor)。我预计--force 将是必要的,因为 PEAR 可能认为它已经成功安装了它。如果install 有问题,请尝试update --force。

【讨论】:

  • 我发现实际上 bin_dir 中有一个 phpdoc“二进制文件”,但它是一个无效链接(请参阅有关问题的编辑)...
  • 对,但是由于内存限制导致安装在随机点崩溃,不知道有多少种不同的方式可以搞砸:-) 增加 memory_limit,甚至通过设置禁用它将其设置为 -1,然后运行我的 --force 命令。那应该可以成功完成安装。
【解决方案2】:

在我执行 pear install 的同一文件夹中,我发现了一个 error_log 文件:

[2013 年 11 月 23 日 22:27:54 UTC] PHP 致命错误:允许的内存大小为 33554432 字节用尽(试图分配 8192 字节) /usr/local/lib/php/PEAR/Installer.php 在第 580 行

明白了。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,发现我的文件夹/usr/local/bin中没有phpdoc链接

    为了解决这个问题,我使用pear config-show 让我可以查看 PEAR Bin 目录的位置,然后在该位置创建了一个指向 phpdoc 文件的符号链接。

    我的 PEAR Bin 目录设置为:/usr/local/Cellar/php55/5.5.8/bin/

    我的本​​地 Bin 目录设置为:/usr/local/bin

    创建链接:

    ln -s /usr/local/Cellar/php55/5.5.8/bin/phpdoc /usr/local/bin/phpdoc

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 2013-12-29
      • 2012-04-07
      • 2011-09-10
      • 2021-05-01
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      相关资源
      最近更新 更多