shell_exec ('svn up/var/www/mydirectory')이 작동하지 않습니다. 웬일인지 아무 일도 일어나지 않습니다. 나는 이것이 허가 문제라고 생각하지만 유감 스럽다. 나는 이것을 아무런 문제없이 실행할 수있다 : shell_exec ('svn help')shell_exec ('svn up/var/www/mydirectory')가 작동하지 않습니다.
2
A
답변
2
이는 아마도 파일 권한 문제 때문일 수있다. 대부분의 PHP 구성에서/var/www/*는 PHP 사용자가 쓸 수 없습니다. svn up /var/www/...
은이 디렉토리에 쓰기를 시도하지만 svn help
은 쓰기를 시도하지 않습니다.
/var/www /는 보안상의 이유로 PHP 사용자에게 쓸 수 없습니다. 쓰기가 가능하도록 만들면 사이트가 더 취약해질 수 있습니다. PHP 스크립트에 버그가 발견되면 공격자가 서버를 완벽하게 제어 할 수 있기 때문입니다. (서버에 PHP 코드를 직접 작성할 수 있기 때문에)
/var/www/mydirectory에 실행해야하는 PHP 코드가없는 경우 chmod -x+w mydirectory/
을 사용하는 것이 안전해야합니다. mydirectory에 실행해야하는 PHP 코드가 포함되어 있고 더 안전한 방법이 없다고 판단한 경우 chmod +w mydirectory/
을 사용하십시오.
참고 : cron 작업을 만들거나 svn up
작업을 다른 사용자로 실행하고 PHP 프로세스에 읽기 전용으로 남겨 두는 다른 방법을 사용하는 것이 좋습니다.
관련 문제
- 1. SVN 내부에서 SVN 커밋이 제대로 작동하지 않습니다.
- 2. SVN Subclipse : googlecode에서 작동하지 않습니다.
- 3. PHP exec/shell_exec/시스템이 브라우저를 통해 작동하지 않습니다.
- 4. shell_exec & ClamAV를
- 5. System_Daemon과 shell_exec
- 6. shell_exec on php
- 7. nohup을 사용하는 Shell_exec PHP
- 8. PHP의 shell_exec()가 특정 명령을 실행하지 않습니다.
- 9. PHP에서 shell_exec()
- 10. svn checkout이 PHP exec()와 작동하지 않습니다.
- 11. 게시물 커밋에서 svn 업데이트가 작동하지 않습니다.
- 12. PHP의 passthru() vs shell_exec()
- 13. php의 exec()가 작동하지 않습니다.
- 14. Eclipse에서 작동하지 않는 SVN
- 15. svn 업데이트가 업데이트되지 않습니다.
- 16. shell_exec and git pull
- 17. PHP shell_exec INSERT MySQL
- 18. shell_exec()와 간부()는 출력
- 19. SuppressionFilter가 작동하지 않습니다.
- 20. git-svn 체크 아웃 프로젝트가 -s와 작동하지 않습니다.
- 21. fogbugz, svn 통합이 작동하지 않습니다. (svn은 wush.net에서 호스팅)
- 22. svn 문제 - 더 이상 내 프로젝트에서 작동하지 않습니다.
- 23. PHP : exec (svn commit)가 오류를 반환하지 않고 작동하지 않습니다.
- 24. PHP shell_exec 스크립트가 끝나기를 기다리시겠습니까?
- 25. svnserve.conf 인증이 작동하지 않습니다.
- 26. AlarmManager가 작동하지 않습니다. 서비스가 작동하지 않습니다.
- 27. svn 가져 오기가 작동하지 않는 이유는 무엇입니까?
- 28. 브라우저가 svn 서버에 연결하지 않습니다.
- 29. git-svn 업데이트가 표시되지 않습니다.
- 30. svn 업데이트 래퍼에서 setuid가 작동하지 않습니까?
PHP 사용자가 없습니다. 웹 서버의 사용자로 실행됩니다. –
글쎄, 웹 서버의 사용자는 정상적인'/ var/www/* '에 쓸 수 없습니다. 나는 PHP 사용자가 의미하는 PHP는 (많은 경우에 웹 서버 사용자) @Foo – Earlz