GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat PHP CLI na linux ubuntu, aby běželo jako www-data?

Spusťte příkaz jednou jako jiný uživatel:

sudo -u www-data php script.php

To by mělo fungovat, pokud jste root .

Jako vždy spouštět php jako www-data , existuje několik možností. Mohli byste vytvořit jednoduchý obalový skript. Pokud /usr/bin/php je pouze měkký odkaz na /usr/bin/php5 nebo podobně, tím je to jednodušší. Stačí nahradit soft-link (NE soubor php5 ) pomocí skriptu, jako je tento:

#!/bin/sh

sudo -u www-data php5 $*

return $?

To ale není vyzkoušeno. Také si uvědomte, že se to VŽDY pokusí spustit php5 jako uživatel www-data , i když uživatel nemusí být root a nemusí k tomu mít povolení. A také to nemusí být to, co opravdu chcete. Některé nainstalované služby mohou při pokusu o spuštění php narazit na problémy.

(možná lepším) řešením, jak to aplikovat pouze na root, může být ponechat soft-link /usr/bin/php sám a umístěte skript do /root/bin namísto. Poté přidejte tuto složku do PATH pomocí .bashrc , .profile nebo podobné. Pokud máte /etc/skel/.profile , který může ukazovat, jak se to dělá:

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

Jakmile to bude ve vašem .bashrc , .profile nebo podobně, každý nový shell, který otevřete, vám umožní přímo spouštět libovolné spustitelné soubory (+x) v $HOME/bin (/root/bin pro root).

Tip:Možná budete chtít pojmenovat skript obalu něco jako phpwww takže explicitně zadáte php script.php nebo phpwww script.php rozhodnout, zda chcete běžné nebo sudo'ed php.

Dalším řešením je jednoduchý alias. Vložte to do .bashrc , .profile nebo podobně:

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

Linux
  1. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  2. Linux – Jak spustit skript na obrazovce uzamčení/odemknutí?

  3. Jak spustit skript na pozadí (linux openwrt)?

  1. Zkompilujte PHP skript v Linuxu

  2. Jak spustit python skript na terminálu (ubuntu)?

  3. Jak přidat shebang #! s php skriptem na linuxu?

  1. Jak nainstalovat PHP na Ubuntu Linux

  2. Jak spustit příkaz / skript Linux Shell na pozadí

  3. Jak spustit soubor Jar v Ubuntu Linux