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'