Komutu başka bir kullanıcı olarak bir kez çalıştırın:
sudo -u www-data php script.php
Eğer öyleyse çalışmalı root
.
Her zaman olduğu gibi php çalışan gelince www-data
, birkaç olasılık vardır. Basit bir sarıcı shellscript oluşturabilirsiniz. Eğer /usr/bin/php
sadece bir soft-link /usr/bin/php5
veya benzeri, yani daha basit hale getirir. Yazılım bağlantısını (dosya DEĞİL php5
) aşağıdaki gibi bir komut dosyasıyla değiştirin:
#!/bin/sh
sudo -u www-data php5 $*
return $?
Bu test değil. Ayrıca php5
, kullanıcı her zaman kullanıcı olarak çalıştırılmaya çalışacağını unutmayın , kullanıcı www-data
olmasa da root
ve bunu yapma izni olmayabilir. Ve gerçekten istediğiniz şey de olmayabilir. Bazı yüklü hizmetler php yürütmeye çalışırken sorunlarla karşılaşabilir.
Yalnızca kök için geçerli olan (muhtemelen daha iyi) bir çözüm, yumuşak bağlantıyı /usr/bin/php
yalnız bırakmak ve komut dosyasını yerleştirmek olabilir /root/bin
. Sonra aracılığıyla PATH bu klasör eklemek .bashrc
, .profile
ya da benzer. Eğer varsa /etc/skel/.profile
, bunun nasıl yapıldığına işaret edebilir:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Bu ulaştıktan sonra .bashrc
, .profile
veya benzeri, açmak her yeni kabuk doğrudan (+ x) herhangi çalıştırılabilirleri sağlayacak $HOME/bin
( /root/bin
root için).
İpucu: Sarıcı komut dosyasını phpwww
açık bir şekilde belirttiğiniz gibi adlandırmak php script.php
veya phpwww script.php
normal veya sudo'ed php isteyip istemediğinize karar vermek isteyebilirsiniz.
Başka bir çözüm basit bir takma addır. Senin bu yerleştirin .bashrc
, .profile
ya da benzer:
alias phpwww='sudo -u www-data php'