GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare PHP CLI su Linux Ubuntu per funzionare come www-data?

Esegui un comando come un altro utente una volta:

sudo -u www-data php script.php

Questo dovrebbe funzionare se sei root .

Per quanto riguarda l'esecuzione sempre di php come www-data , ci sono diverse possibilità. Potresti creare un semplice shellscript wrapper. Se /usr/bin/php è solo un soft-link a /usr/bin/php5 o simili, che lo rende più semplice. Basta sostituire il soft-link (NON il file php5 ) con uno script come questo:

#!/bin/sh

sudo -u www-data php5 $*

return $?

Non è testato però. Tieni anche presente che questo cercherà SEMPRE di eseguire php5 come utente www-data , anche se l'utente potrebbe non essere root e potrebbe non avere il permesso di farlo. E potrebbe anche non essere quello che vuoi veramente. Alcuni servizi installati potrebbero incorrere in problemi durante il tentativo di eseguire php.

Una soluzione (forse migliore) per applicarla solo a root potrebbe essere quella di lasciare il soft-link /usr/bin/php da solo e posiziona lo script in /root/bin invece. Quindi aggiungi quella cartella a PATH tramite .bashrc , .profile o simili. Se hai /etc/skel/.profile , che potrebbe indicare come si fa:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Una volta che questo è nel tuo .bashrc , .profile o simili, ogni nuova shell che apri ti permetterà di eseguire direttamente qualsiasi eseguibile (+x) in $HOME/bin (/root/bin per root).

Suggerimento:potresti voler nominare lo script wrapper come phpwww quindi specifichi esplicitamente php script.php o phpwww script.php per decidere se vuoi un php normale o sudo'ed.

Un'altra soluzione è un semplice alias. Inseriscilo nel tuo .bashrc , .profile o simile:

alias phpwww='sudo -u www-data php'

Linux
  1. Come eseguire un comando bash Linux in uno script PERL?

  2. Linux – Come eseguire uno script sul blocco/sblocco dello schermo?

  3. Compila uno script PHP in Linux

  4. Come eseguire lo script Python sul terminale (ubuntu)?

  5. Come aggiungere shebang #! con script php su Linux?

Come installare e configurare KVM su Ubuntu Linux

Come installare e configurare XAMPP su Ubuntu Linux

Come installare e configurare Nagios in Ubuntu Linux

Come installare e configurare PHP OPcache su Ubuntu 18.04

Come creare ed eseguire uno script di shell in Ubuntu 22.04

Come installare e configurare Angular CLI su distribuzioni Linux