Frage

Wie können Sie das folgende Skript ausführen docs von PHPDoc bei der Generierung?

# 1 sudo -Code

sudo source makedoc.sh

ich

no command source

# 2 ohne sudo

Das Problem ist, dass sudo nicht den Befehl source hat. Ich habe versucht, das Problem ohne Erfolg zu beheben, indem die persmissions von ~ / phpdoc / phpdoc auf 777 zu ändern und dann läuft

source makedoc.sh

ich

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

# 3 ohne sudo

Ich betreiben

 phpdoc -c makedoc.sh

ich

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
War es hilfreich?

Lösung

Ist die Datei makedoc.sh eine Shebang-Zeile (zB #! / Usr / bin / bash), so kann es ausführbar gemacht werden?

chmod +x makedoc.sh

Dann

sudo ./makedoc.sh

und sehen, was passiert.

Die ./ Mittel laufen makedoc.sh im aktuellen Verzeichnis (es soll die Datei nicht gefunden Fehler beheben)

Berechtigungen von 777 Giving erlaubt es jedem, Schreib- oder ausführen, um die Dateien zu lesen. Dies ist das Sicherheitsrisiko Mike Arthur bezeichnet. Es kann eher ein potenzielles Risiko, aber es ist nie gut, Praxis ist es für andere einfach zu machen zu ändern, löschen oder Dateien ausführen.

Andere Tipps

sudo Quelle macht sehr wenig Sinn, Sie sind eine neue Shell als Root-Benutzer zu machen und dann die dann mit dem Root-Shell zerstört wird versucht, die Umgebung zu ändern.

Auch wird, Quelle nur dann verwendet, wenn Sie werden möchten, bekommen Sie Ihre Umgebung in der aktuellen Shell zu ändern, die ich bin mir ziemlich sicher, würden Sie nicht wollen, etwas zu tun, als „makedoc.sh“.

Sie wollen wahrscheinlich nur laufen:

sudo makedoc.sh

Auch nie die Dinge wieder auf 777, es ist nie die Lösung für das Problem, und es ist ein Sicherheitsrisiko.

Die ein Grund für die Existenz makedocs.sh das ist ein bequemer Shell-Skript für Sie verwenden, wenn Sie immer wieder verwenden wollen, um die gleichen Laufzeiteinstellungen . Es ist nicht die Art und Weise laufen phpDocumentor im Allgemeinen.

Wenn Sie einfach laufen phpDocumentor gegen Ihren eigenen Code, um versuchen, Dokumente für sie zu schaffen, dann müssen Sie bearbeiten makedocs.sh alle die Laufzeit Argumente genau festlegen, was Sie wollen, dass sie zu sein. Insbesondere das Argument -t das Ziel angeben Ort, wo die Dokumente geschrieben werden soll.

Wirklich, sollte es keine Notwendigkeit, die Verwendung von sudo phpdoc auszuführen, es sei denn, Sie versuchen, die generierte Dokumentation haben direkt in Ihr systemweite PEAR Installation des „doc_dir“ Stelle geschrieben. In diesem Fall, da PEAR Wurzel besitzt, wäre sudo notwendig. Vielleicht haben Sie Ihre Bedürfnisse nicht erfordern Ihre Dokumente an dieser Stelle geschrieben werden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top