MySQL 데이터베이스 백업을 .sql 파일로 실행하고 TAR/GZip으로 이메일을 보내도록 PHP 스크립트가 있습니다. 데이터베이스 중 하나는 웹 서버를 제공하는 공급자가 아닌 다른 공급자가 호스팅합니다. 모든 것이 Linux/Unix에서 호스팅됩니다. 내가이 명령을 실행하면 : (. 참고로, 나는 또한 시스템(), 경유() 및 shell_exec()와 함께이 시도했습니다)PHP/passthru/mysqldump가 타임 아웃하는 것 같습니다.
$results = exec("mysqldump -h $dbhost -u $dbuser -p$dbpass $dbname > $backupfile", $output, $retval);
을
내 브라우저에 15 ~ 20 초 동안 페이지를로드 처리하지 않고 멈 춥니 다. FTP 클라이언트로 서버를 살펴보면 결과 파일이 몇 초 후에 표시되고 파일 크기가 데이터베이스가 백업 될 때까지 생성됩니다. 따라서 백업 파일이 생성되지만 스크립트가 작동을 멈추기 전에 파일을 압축하고 전송할 수 있습니다.
PHP에서 max_execution_time
변수를 확인했으며 30 초 (페이지가 작동하지 않는 것보다 오래 걸림)로 설정되어 set_time_limit
값을 최대 200 초로 설정했습니다.
누구나 무슨 일이 일어나고 있는지 알 수 있습니까?
다른 옵션이 있습니까? 예 : pdo, fputcsv 및 zlib.inflate-filter? – VolkerK