문제

PHPDOC에 의해 문서를 생성 할 때 다음 스크립트를 어떻게 실행할 수 있습니까?

#1 Sudo -코드

sudo source makedoc.sh

나는 얻다

no command source

Sudo없이 #2

문제는 그 것입니다 sudo 명령이 없습니다 source. 나는 ~/phpdoc/phpdoc의 쾌락을 777로 변경하고

source makedoc.sh

나는 얻다

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

Sudo없이 #3

난 달린다

 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
도움이 되었습니까?

해결책

Makedoc.sh 파일에 Shebang 라인 (예 :!#/usr/bin/bash)이 있으므로 실행 파일을 만들 수 있습니까?

chmod +x makedoc.sh

그 다음에

sudo ./makedoc.sh

그리고 무슨 일이 일어나는지보십시오.

./는 run makedoc.sh를 의미합니다 현재 디렉토리에서 (파일을 찾지 못한 오류가 없어야 함)

777의 권한을 부여하면 누구나 파일을 읽거나 쓰거나 실행할 수 있습니다. 이것은 Mike Arthur가 언급 한 보안 위험입니다. 잠재적 인 위험 일 수 있지만 다른 사람들이 파일을 쉽게 수정, 삭제 또는 실행할 수 있도록하는 것은 좋은 방법이 아닙니다.

다른 팁

Sudo Source는 거의 의미가 없습니다. 루트 사용자로서 새 쉘을 만들고 환경을 변경하려고 시도하여 루트 쉘로 파괴됩니다.

또한 소스는 현재 쉘에서 환경을 바꾸고 싶을 때만 사용됩니다. "Makedoc.sh"라는 일로하고 싶지 않을 것입니다.

당신은 아마 달리기를 원할 것입니다 :

sudo makedoc.sh

또한 777로 아무 것도 설정하지 않으며 문제에 대한 해결책이 아니며 보안 위험입니다.

그만큼 하나 Makedocs.sh의 존재 이유는 당신이 사용할 편리한 쉘 스크립트가되기 때문입니다. 항상 동일한 런타임 설정을 재사용하고 싶을 때. 그것은이다 ~ 아니다 일반적으로 phpdocumentor를 실행합니다.

문서를 작성하기 위해 간단히 자신의 코드에 대해 phpdocumentor를 실행하려는 경우 Makedocs.sh를 편집하여 모든 런타임 인수를 원하는대로 정확하게 설정해야합니다. 특히, -t 인수를 지정합니다 표적 문서를 작성 해야하는 위치.

실제로 Sudo를 사용하여 Sudo를 사용하여 PHPDOC를 실행할 필요가 없어야합니다. PHPDOC를 실행할 필요가 없습니다. 생성 된 문서를 시스템 전체 배 설치의 "DOC_DIR"위치에 직접 작성하려고하지 않는 한. 이 경우 루트는 배를 소유하기 때문에 Sudo가 필요합니다. 어쩌면 당신의 필요가 있습니다 ~ 아니다 해당 위치에 문서를 작성해야합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top