0

如何在 PHPdoc 生成文档时运行以下脚本?

#1 须藤代码

sudo source makedoc.sh

我明白了

no command source

#2 没有 sudo

问题是sudo没有命令source。我试图通过将 ~/phpdoc/phpdoc 的权限更改为 777 然后运行来解决问题,但未成功

source makedoc.sh

我明白了

makedoc.sh:90: permission denied: /home/masi/phpdoc/phpdoc

#3 没有 sudo

我跑

 phpdoc -c makedoc.sh

我明白了

codes master $ phpdoc -c makedoc.sh
PHP Version 5.2.6-3ubuntu4.2
phpDocumentor version 1.4.2

Parsing configuration file phpDocumentor.ini...
   (found in /usr/share/php/data/PhpDocumentor/)...

done
Maximum memory usage set at 256M after considering php.ini...
using tokenizer Parser
a target directory must be specified
 try phpdoc -h
4

3 回答 3

2

文件 makedoc.sh 是否有一个 shebang 行(例如!#/usr/bin/bash),所以它可以成为可执行文件?

chmod +x makedoc.sh

然后

sudo ./makedoc.sh

看看会发生什么。

./ 表示在当前目录中运行 makedoc.sh (它应该修复文件未找到错误)

授予 777 的权限允许任何人读取、写入或执行文件。这就是 Mike Arthur 提到的安全风险。这可能更具潜在风险,但让他人轻松修改、删除或执行您的文件绝不是一种好习惯。

于 2009-08-30T11:20:48.200 回答
1

sudo source 没有什么意义,您正在以 root 用户身份创建一个新的 shell,然后尝试更改将被 root shell 销毁的环境。

此外,仅当您想在当前 shell 中更改环境时才使用 source ,我很确定您不想使用名为“makedoc.sh”的东西。

您可能只想运行:

sudo makedoc.sh

此外,永远不要将事情设置为 777,这绝不是问题的解决方案,而且存在安全风险。

于 2009-08-30T11:19:26.940 回答
0

makedocs.sh 存在的一个原因是当您总是想重用相同的运行时设置时,它是一个方便的 shell 脚本供您使用。这不是 一般运行 phpDocumentor的方式。

如果您尝试简单地针对您自己的代码运行 phpDocumentor 以便为其创建文档,那么您需要编辑 makedocs.sh 以将所有运行时参数设置为您想要的。特别是, -t 参数指定应写入文档的目标位置。

实际上,不需要使用 sudo 来执行 phpdoc,除非您尝试将生成的文档直接写入系统范围的 PEAR 安装的“doc_dir”位置。在这种情况下,由于 root 拥有 PEAR,因此需要 sudo。也许您的需求不需要将您的文档写入该位置?

于 2009-11-22T14:35:07.200 回答