다른 사용자로 한 번 명령을 실행하십시오.
sudo -u www-data php script.php
당신이 경우에 작동합니다 root
.
항상 php as를 실행하는 www-data
데는 몇 가지 가능성이 있습니다. 간단한 래퍼 셸 스크립트를 만들 수 있습니다. 경우 /usr/bin/php
만에 소프트 링크입니다 /usr/bin/php5
또는 유사한, 그게 간단합니다. 소프트 링크 (파일 php5
아님)를 다음과 같은 스크립트로 바꾸십시오 .
#!/bin/sh
sudo -u www-data php5 $*
return $?
그래도 테스트되지 않았습니다. 또한 php5
사용자 가 권한이 없거나 권한 www-data
이없는 경우에도 항상 user 로 실행하려고합니다 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
지정 하여 정규 또는 sudo'ed PHP 를 명시 적으로 지정 php script.php
하거나 phpwww script.php
결정할 수 있습니다.
또 다른 해결책은 간단한 별칭입니다. 이것을 당신 .bashrc
의 .profile
또는 비슷한 곳에 놓으십시오 .
alias phpwww='sudo -u www-data php'