SVN 작업 복사본을 업데이트하는 PHP 스크립트를 작성했습니다.Windows에서 PHP에서 Subversion 업데이트 - 권한 관련 (액세스가 거부 됨)
내 개발 컴퓨터 (W2k3 서버)에서 제대로 작동하지만 프로덕션 서버 (W2k8 서버)에서 작동하지 않습니다. 나는 최신 Collabnet Subversion 바이너리 (1.6.17)를 사용하고 있습니다.
$command = 'svn update C:\inetpub\wwwroot\mysite --config-dir C:\Windows\Temp';
$response = array();
$handle = popen("$command 2>&1", 'r');
$read = '';
while($read = fread($handle, 20096))
{
$response[] = $read;
}
pclose($handle);
flush();
echo '<h2>Command</h2><p> ' . $command . '</p>';
echo '<h2>Response</h2><p>' . implode('<br />', $response) . '</p>';
내가 명령에서 같은 명령을 실행
가 잘 작동 프롬프트 :다음은 PHP 코드입니다. 그러나 IIS를 통해 실행하면 다음과 같이 표시됩니다.
svn : 'C : \ inetpub \ wwwroot \ mysite.svn \ lock'파일을 열 수 없습니다. 액세스가 거부되었습니다.
아마도 권한 상승이 필요하지만이를 구현하는 방법을 모릅니다.
나는 svn과 C : \ inetpub \ wwwroot \ mysite.svn \ 폴더가 포함 된 폴더에 대해 _IUSR 계정에 대한 모든 권한을 부여하려고했지만 아무런 차이가 없습니다.
덕분에
'폴더의 모든 권한 '이 재귀 적으로 또는 아닌지? IIS/PHP 사용자/그룹의 발견을 위해'C : \ inetpub \ wwwroot \ mysite.svn \ lock' 파일과'whoami' 파일을 누가 소유하고 있는지 확인할 수 있습니까? –
명령 프롬프트에서 동일한 명령을 실행하면 제대로 작동한다고합니다. IIS ID로 또는 자신으로 실행하고 있습니까? – AlG