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/phpsadece bir soft-link /usr/bin/php5veya 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-dataolmasa da rootve 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/phpyalnız bırakmak ve komut dosyasını yerleştirmek olabilir /root/bin. Sonra aracılığıyla PATH bu klasör eklemek .bashrc, .profileya 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, .profileveya benzeri, açmak her yeni kabuk doğrudan (+ x) herhangi çalıştırılabilirleri sağlayacak $HOME/bin( /root/binroot için).
İpucu: Sarıcı komut dosyasını phpwwwaçık bir şekilde belirttiğiniz gibi adlandırmak php script.phpveya phpwww script.phpnormal 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, .profileya da benzer:
alias phpwww='sudo -u www-data php'