>  기사  >  백엔드 개발  >  javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

WBOY
WBOY원래의
2016-09-08 08:43:531443검색

검색 기능을 웹 버전으로 만들었습니다.

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

검색은 프런트 데스크에서 시작되고 백그라운드에서 검색이 실행되어 검색 결과가 반환됩니다.

폴더 검색을 하다가 폴더에 파일이 너무 많아(20,000개 이상) 검색 시간이 너무 길어서(결과를 얻는 데 2분 정도 소요됨) 가끔 참을 수가 없어서 기다리기도 합니다. 검색을 중지하려면 클릭하면 됩니다.

<code>  // 终止搜索
  stopSearch: function(){
    console.log('xhr请求集合: ' , this.reqList);
    for (var i = 0; i < this.reqList.length; ++i)
      {
        if (this.reqList[i].readyState !== 0 || this.reqList[i].status !== 200) {
          this.reqList[i].abort();
        }
      }
  } 
  </code>

검색 중지를 클릭한 후 프런트 데스크가 실제로 중지되었습니다.

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

그러나 백그라운드 PHP 스크립트는 여전히 실행 중입니다. (그리고 PHP 스크립트가 실행되는 최대 시간을 3분으로 설정했습니다.) 각 페이지를 새로 고치는 데 시간이 오래 걸립니다(1분 이상). 정직한 상황(한 번만 시작됨), 새가 발사되는 동안 마우스가 격렬하게 클릭하면 아마도 서버를 다시 시작해야 할 것입니다... 한숨(다음은 미친 클릭의 결과입니다. 두세 번만 클릭하면 가장 긴 요청입니다) 시간이 5분에 이르렀습니다...)!

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

요청을 중지할 때 백그라운드 PHP 스크립트 실행을 종료하는 방법이 있나요? ?

답글 내용:

검색 기능을 웹 버전으로 만들었습니다.

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

검색은 프런트 데스크에서 시작되고 백그라운드에서 검색이 실행되어 검색 결과가 반환됩니다.

폴더 검색을 하다가 폴더에 파일이 너무 많아(20,000개 이상) 검색 시간이 너무 길어서(결과를 얻는 데 2분 정도 소요됨) 가끔 참을 수가 없어서 기다리기도 합니다. 검색을 중지하려면 클릭하면 됩니다.

<code>  // 终止搜索
  stopSearch: function(){
    console.log('xhr请求集合: ' , this.reqList);
    for (var i = 0; i < this.reqList.length; ++i)
      {
        if (this.reqList[i].readyState !== 0 || this.reqList[i].status !== 200) {
          this.reqList[i].abort();
        }
      }
  } 
  </code>

검색 중지를 클릭하면 프런트 데스크가 실제로 중지됩니다.

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

그러나 백그라운드 PHP 스크립트는 여전히 실행 중입니다. (그리고 PHP 스크립트가 실행되는 최대 시간을 3분으로 설정했습니다.) 각 페이지를 새로 고치는 데 시간이 오래 걸립니다(1분 이상). 정직한 상황(한 번만 시작됨), 새가 발사되는 동안 마우스가 격렬하게 클릭하면 아마도 서버를 다시 시작해야 할 것입니다... 한숨(다음은 미친 클릭의 결과입니다. 두세 번만 클릭하면 가장 긴 요청입니다) 시간이 5분에 이르렀습니다...)!

javascript - Ajax 요청이 종료된 후 요청한 PHP도 종료되도록 하는 방법은 무엇입니까? ?

요청을 중지할 때 백그라운드 PHP 스크립트 실행을 종료하는 방법이 있나요? ?

아니요, 당신이 할 수 있는 일은 검색 성능을 최적화하는 것뿐입니다

시작하는 유일한 방법은 검색 성능을 최적화하는 것입니다. HTTP 프로토콜에는 백그라운드에 대한 요청 종료를 시작하는 "요청"이 없으며 프런트 엔드 서버가 nginx를 사용하는 경우 PHP 응용 프로그램 서버는 클라이언트의 연결이 끊어졌다는 사실조차 알지 못합니다.
이 경우 최적화 배경에서만 시작할 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.