Domanda

Come è possibile eseguire il seguente script nella generazione di documenti da PHPDoc?

# 1 sudo -code

sudo source makedoc.sh

ho

no command source

# 2 senza sudo

Il problema è che sudo non ha il comando source. Ho cercato di risolvere il problema senza successo cambiando le persmissions di ~ / phpdoc / phpdoc a 777 e quindi eseguire

source makedoc.sh

ho

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

# 3 senza sudo

corro

 phpdoc -c makedoc.sh

ho

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
È stato utile?

Soluzione

Fa il file makedoc.sh hanno una linea shebang (ad esempio #! / Usr / bin / bash) in modo che possa essere reso eseguibile?

chmod +x makedoc.sh

Poi

sudo ./makedoc.sh

e vedere cosa succede.

Il ./ significa makedoc.sh eseguire nella directory corrente (si deve correggere l'errore di file non trovato)

Dare i permessi di 777 permette a chiunque di leggere, scrivere o eseguire i file. Questo è il rischio per la sicurezza Mike Arthur di cui. Può essere più di un rischio potenziale, ma non è mai buona pratica per rendere più facile per gli altri di modificare, cancellare o eseguire i file.

Altri suggerimenti

fonte sudo poco senso, si effettua una nuova shell come utente root e poi cercando di cambiare l'ambiente che sarà poi distrutto con la shell di root.

Inoltre, di origine viene utilizzato solo se si desidera essere sempre cambiare il vostro ambiente nella shell corrente che sono abbastanza sicuro che non vorresti essere fare con qualcosa chiamato "makedoc.sh".

Probabilmente si desidera eseguire:

sudo makedoc.sh

Inoltre, non mettere le cose a 777, non è mai la soluzione al problema ed è un rischio per la sicurezza.

una ragion d'essere di makedocs.sh è quello di essere uno script di shell conveniente per l'utilizzo di quando hai sempre voglia di riutilizzare le stesse impostazioni di runtime . Si tratta di non il modo per eseguire phpDocumentor in generale.

Se si sta tentando di eseguire semplicemente phpDocumentor contro il proprio codice al fine di creare documenti per esso, allora è necessario modificare makedocs.sh per impostare tutti gli argomenti di runtime per esattamente quello che vuoi che siano. In particolare, l'argomento -t per specificare il obiettivo posizione in cui devono essere scritti i documenti.

In realtà, non ci dovrebbe essere alcun bisogno di usare sudo per eseguire phpdoc, a meno che non si sta tentando di avere la documentazione generata scritta direttamente nella tua installazione di PEAR a livello di sistema di localizzazione "doc_dir". In questo caso, dal momento che root possiede PEAR, sudo sarebbe necessario. Forse le vostre esigenze fanno non richiedono tuoi documenti da scrivere in quella posizione?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top