Question

Comment pouvez-vous exécuter le script suivant dans la génération de documents par phpdoc?

# 1 sudo -code

sudo source makedoc.sh

Je reçois

no command source

# 2 sans sudo

Le problème est que sudo ne pas la commande source. J'ai essayé de résoudre le problème, sans succès, en changeant les persmissions de ~ / phpdoc / phpdoc à 777 puis en cours d'exécution

source makedoc.sh

Je reçois

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

# 3 sans sudo

Je lance

 phpdoc -c makedoc.sh

Je reçois

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
Était-ce utile?

La solution

Est-ce que le fichier makedoc.sh ont une ligne de tralala (par exemple #! / Usr / bin / bash) il peut être exécutable?

chmod +x makedoc.sh

puis

sudo ./makedoc.sh

et voir ce qui se passe.

Le ./ signifie exécuter makedoc.sh dans le répertoire courant (il faut corriger le fichier erreur introuvable)

Donner des autorisations de 777 permet à quiconque de lire, écrire ou exécuter les fichiers. Ceci est le risque de sécurité Mike Arthur appelé. Il peut être plus d'un risque potentiel, mais il n'y a jamais de bonnes pratiques pour le rendre facile pour les autres de modifier, supprimer ou exécuter vos fichiers.

Autres conseils

source sudo très peu fait sens, vous faites un nouveau shell en tant qu'utilisateur racine, puis essayer de changer l'environnement qui sera ensuite détruit avec le shell root.

, la source est utilisée que si vous voulez aussi être faire changer votre environnement dans le shell courant que je suis sûr que vous ne voudriez pas faire avec ce qu'on appelle « makedoc.sh ».

Vous voulez probablement juste courir:

sudo makedoc.sh

Aussi, ne jamais mettre les choses à 777, il est jamais la solution au problème et il est un risque de sécurité.

un raison de l'existence de makedocs.sh est d'être un script shell pratique pour vous d'utiliser quand vous voulez toujours réutiliser les mêmes paramètres d'exécution . Il est pas la façon pour exécuter phpDocumentor en général.

Si vous essayez d'exécuter simplement phpDocumentor contre votre propre code afin de créer docs pour cela, vous devez modifier makedocs.sh pour définir exactement ce que vous voulez tous les arguments d'exécution soient. En particulier, l'argument -t pour spécifier le cible endroit où les documents doivent être écrits.

Vraiment, il ne devrait pas être nécessaire d'utiliser sudo pour exécuter phpdoc, à moins que vous essayez d'avoir la documentation générée par écrit directement dans l'emplacement « doc_dir » de votre installation PEAR système. Dans ce cas, puisque la racine est propriétaire PEAR, sudo serait nécessaire. Peut-être que vos besoins font pas exigent vos documents à écrire à cet endroit?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top