2016-11-28 3 views
0

PHP 프레임 워크 CodeIgniter로 작성된 응용 프로그램이 있습니다. 컨트롤러 중 하나는 비교적 큰 파일을 읽는 함수를 실행 한 다음 줄 단위로 데이터베이스에 정보를 삽입/업데이트하기 시작합니다. 물론, 서버로부터 시간 초과를 얻으려면 약간의 시간이 걸립니다. 내 로컬 호스트에백그라운드에서 작업을 실행하여 504 게이트웨이 시간 초과를 방지하십시오.

나는 호출하여이 문제를 해결 얻을 수 :

set_time_limit(0); 

그러나, 프로덕션 서버는 (내 생각) 매우 다른, 그래서도이 코드 내가 거기에 오류가 발생하는 것입니다 :

나는 모든 높일 수 있도록

504 게이트웨이 타임 아웃/1.8.0

는 설상가상으로 nginx를, I는 서버의 구성에 액세스 할 수 없습니다 어느 것이 문제를 일으키는 지 알 수있는 경우에도 서버 시간 초과 값. 대신 내 질문은 어떻게 브라우저를 열어 둘 필요가 없기 때문에 백그라운드에서이 작업을 실행하도록 PHP에게 지시 할 수 있습니다.이 일이 발생하는 동안 아무 것도 할 필요가 없습니다. 미래에?

+0

게이트웨이 요청에 대한 시도를 잡을 수 있습니까? 준비가 안되면 중단 한 곳에서 다른 요청을 보내시겠습니까? – atoms

답변

-1

PHP 실행 시간을 늘리려면 웹 루트의 .user.ini 파일을 사용하여 서버의 글로벌 php.ini 설정을 재정의 할 수 있습니다. 요청이 PHP에서 성공 응답과 응답의 nginx 당신에게 있습니다받은과의 nginx의 연결을 종료한다

http://www.php.net/manual/en/configuration.file.per-user.php

그리고 nginx를위한

.