一次以其他用户身份运行命令:
sudo -u www-data php script.php
如果是这样,这应该可以工作root
。
至于始终以方式运行php www-data
,有几种可能性。您可以创建一个简单的包装Shellscript。如果/usr/bin/php
只是/usr/bin/php5
与之或类似的软链接,这将使其更简单。只需使用如下php5
脚本替换软链接(不是file ):
#!/bin/sh
sudo -u www-data php5 $*
return $?
那没有测试。另请注意,即使用户可能不是,也没有权限这样做,它总是会尝试以php5
用户身份运行。而且它也可能不是您真正想要的。尝试执行php时,某些已安装的服务可能会出现问题。www-data
root
一种仅适用于root用户的解决方案(可能更好)可能是不使用软链接/usr/bin/php
,/root/bin
而是将脚本放入其中。然后将该文件夹添加到经由路径.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'ed php。
另一个解决方案是简单的别名。将此放在您的.bashrc
,.profile
或类似:
alias phpwww='sudo -u www-data php'