如何在PHPdoc生成文档时运行以下脚本?
sudo source makedoc.sh
我得到了
no command source
问题是sudo
没有命令source
。
我试图通过将〜/ phpdoc / phpdoc的持久性更改为777然后运行
source makedoc.sh
我得到了
makedoc.sh:90: permission denied: /home/masi/phpdoc/phpdoc
我跑
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
答案 0 :(得分:2)
文件makedoc.sh是否有一个shebang行(例如!#/ usr / bin / bash)所以它可以变成可执行文件吗?
chmod +x makedoc.sh
,然后强>
<强> sudo ./makedoc.sh
,看看会发生什么。 强>
./表示在当前目录中运行makedoc.sh (它应该修复找不到文件的错误)
授予777权限允许任何人读取,写入或执行文件。这是Mike Arthur提到的安全风险。这可能更具潜在风险,但让其他人轻松修改,删除或执行您的文件绝不是一种好的做法。
答案 1 :(得分:1)
sudo source没什么意义,你是以root用户身份创建一个新shell,然后尝试更改环境,然后用root shell销毁它。
此外,仅当您想要在当前shell中更改环境时才使用source,我非常确定您不希望使用名为“makedoc.sh”的内容。
您可能只想运行:
sudo makedoc.sh
此外,永远不要将事情设置为777,它永远不是问题的解决方案,而且存在安全风险。
答案 2 :(得分:0)
makedocs.sh存在的一个原因是当您总是希望重用相同的运行时设置时,可以使用作为一个方便的shell脚本。一般来说,运行phpDocumentor 不 的方式。
如果您只是想针对自己的代码运行phpDocumentor以便为其创建文档,那么您需要编辑makedocs.sh以将所有运行时参数设置为您希望它们的完全匹配。特别是,-t参数指定应该写入文档的目标位置。
实际上,除非您尝试将生成的文档直接写入系统范围的PEAR安装的“doc_dir”位置,否则不需要使用sudo来执行phpdoc。在这种情况下,由于root拥有PEAR,因此sudo是必要的。也许您的需求不要求将您的文档写入该位置?