이렇게 다른 질문이 있지만 내가 보았던 답변이 없기 때문에 신선한 질문을하고 있습니다.mysqldump는 PHP 시스템()을 통해 빈 파일을 생성합니다.
내가이 명령 system()
을 통해 mysqldump
를 사용하려고 해요 :
$backup_path = $_SERVER['DOCUMENT_ROOT'] . '/website/acp/backup/';
$backup_name = $backup_path . $dbname . '.backup.' . date('l.dS.F.Y.g.iA') . '.sql';
$command = 'mysqldump ' . $dbname . ' -u ' . $dbuser . ' -p' . $dbpasswd . ' > ' . $backup_name;
system($command, $returned);
print_r($returned);
$returned
출력 127
제로 KB의 크기가 백업 폴더에있는 빈 파일, 지금은 $command
에코 때 그것을 터미널에 입력하면 완벽하게 작동하여 데이터베이스의 전체 백업을 생성합니다. 이것은 내가 이해하지 못하는 부분이며, 왜 system()
호출에서 잘 작동하지 않지만 터미널에서 정상적으로 작동합니까?
지정한 사용자 계정에 "파일"권한이 필요합니까? –