다음 PHP 함수 중 하나를 재귀 적으로 chmod 내 서버에 설치해야합니다.재귀 Chmod가 작동하지 않습니다. PHP
웬일인지 작동하지 않습니다. dir에있는 파일을 인쇄하는 빠른 스크립트로 테스트했을 때 dir의 경로가 정확하다는 것을 알고 있습니다.
$root_tmp = '/tmp/mixtape2';
chmod_r($root_tmp);
function chmod_r($Path) {
$dp = opendir($Path);
while($File = readdir($dp)) {
if($File != "." AND $File != "..") {
if(is_dir($File)){
chmod($File, 0777);
chmod_r($Path."/".$File);
}else{
chmod($Path."/".$File, 0777);
}
}
closedir($dp);
}
아이디어가 있으십니까?
그냥 생각 ... 내가 서버의/tmp 디렉토리를 다루는 것이 중요합니까? 권한 문제인지 궁금합니다. 예를 들어, 터미널에 있다면'sudo'를해야합니까? 그렇다면 PHP 스크립트에서이 문제에 대해 어떻게 생각합니까? –
좋아, 방금 확인한이 스크립트를 실행하는 파일의 소유자는 'nginx'이고 chmod를 시도하는 파일/폴더의 사용자는 '루트'입니다. 나는 어떻게 든 사용자를 변경해야 할 것 같니? 불행히도, 이것은 나에게 모두 새로운 것이므로 여기서부터 어디로 가야할지 모르겠다. –