एक बार किसी अन्य उपयोगकर्ता के रूप में एक कमांड चलाएँ:
sudo -u www-data php script.php
यदि आप हैं, तो यह काम करना चाहिए root।
हमेशा की तरह php चलाने के लिए www-data, कई व्यवसाय हैं। आप एक साधारण आवरण आवरण बना सकते हैं। यदि /usr/bin/phpकेवल एक सॉफ्ट-लिंक /usr/bin/php5या इसके समान है, जो इसे सरल बनाता है। बस सॉफ्ट-लिंक (फ़ाइल नहीं php5) को इस तरह से स्क्रिप्ट के साथ बदलें :
#!/bin/sh
sudo -u www-data php5 $*
return $?
हालांकि इसका परीक्षण नहीं किया गया है। यह भी ध्यान रखें कि यह हमेशा php5उपयोगकर्ता के रूप में चलाने की कोशिश करेगा www-data, भले ही उपयोगकर्ता ऐसा न हो rootऔर ऐसा करने की अनुमति न हो। और यह भी नहीं हो सकता है कि आप वास्तव में क्या चाहते हैं। कुछ इंस्टॉल की गई सेवाएं php निष्पादित करने की कोशिश करते समय समस्याओं में चल सकती हैं।
(संभवतः बेहतर) समाधान केवल इस बात पर लागू होता है कि रूट को सॉफ्ट-लिंक को /usr/bin/phpअकेला छोड़ना और स्क्रिप्ट को /root/binइसके स्थान पर रखना हो सकता है । फिर उस फ़ोल्डर को PATH के माध्यम से .bashrc, .profileया इसी तरह से जोड़ें। यदि आपके पास है /etc/skel/.profile, तो यह इंगित कर सकता है कि यह कैसे किया जाता है:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
एक बार जब यह अपने में है .bashrc, .profileया इसी तरह, हर नई खोल आप खोलना आप सीधे (+ x) में किसी भी निष्पादनयोग्य पर अमल करने की अनुमति देगा $HOME/bin( /root/binजड़ के लिए)।
संकेत: आप रैपर स्क्रिप्ट को कुछ नाम देना चाहते हैं, जैसे phpwwwकि आप स्पष्ट रूप से निर्दिष्ट करना चाहते हैं php script.phpया phpwww script.phpयह तय करना चाहते हैं कि आप नियमित या sudo'n php चाहते हैं।
एक अन्य समाधान एक साधारण उपनाम है। इसे अपने .bashrc, .profileया समान में रखें :
alias phpwww='sudo -u www-data php'