Jalankan perintah sebagai pengguna lain satu kali:
sudo -u www-data php script.php
Ini seharusnya berfungsi jika Anda root .
Adapun selalu menjalankan php sebagai www-data , ada beberapa kemungkinan. Anda bisa membuat shellscript pembungkus sederhana. Jika /usr/bin/php hanyalah tautan lunak ke /usr/bin/php5 atau serupa, yang membuatnya lebih sederhana. Cukup ganti soft-link (BUKAN file php5 ) dengan skrip seperti ini:
#!/bin/sh
sudo -u www-data php5 $*
return $?
Itu tidak diuji. Ketahuilah juga bahwa ini SELALU akan mencoba menjalankan php5 sebagai pengguna www-data , meskipun pengguna mungkin bukan root dan mungkin tidak memiliki izin untuk melakukannya. Dan itu mungkin juga bukan yang Anda inginkan. Beberapa layanan yang diinstal mungkin mengalami masalah saat mencoba menjalankan php.
Solusi (mungkin lebih baik) untuk hanya menerapkannya ke root mungkin dengan meninggalkan soft-link /usr/bin/php sendiri dan tempatkan skrip di /root/bin alih-alih. Kemudian tambahkan folder itu ke PATH melalui .bashrc , .profile atau serupa. Jika Anda memiliki /etc/skel/.profile , yang mungkin menunjukkan cara melakukannya:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Setelah ini ada di .bashrc Anda , .profile atau serupa, setiap shell baru yang Anda buka akan memungkinkan Anda untuk langsung mengeksekusi semua executable (+x) di $HOME/bin (/root/bin untuk root).
Petunjuk:Anda mungkin ingin memberi nama skrip pembungkus seperti phpwww jadi Anda secara eksplisit menentukan php script.php atau phpwww script.php untuk memutuskan apakah Anda ingin php biasa atau sudo.
Solusi lain adalah alias sederhana. Tempatkan ini di .bashrc Anda , .profile atau serupa:
alias phpwww='sudo -u www-data php'