0

나는 500 Internal Server Error를 가지고 있으며, 내 경우에는 외부 파일을로드하는 것이 내 문제라고 생각할 가능성이 높습니다. 그 전에 내 상태 표시 줄에 Waiting for available sockets...이라는 메시지가 나타났습니다.500 외부로드 된 파일에 따라 내부 서버 오류가 발생 했습니까?

PHP 코딩 타이밍을 OUT

당신의 PHP 스크립트가 외부 네트워크 연결, 연결 이 시간이 초과 될 수 있습니다 경우 : 내가 봤으로

는이 정보를 발견했다. 너무 많은 연결을 시도하고 시간이 초과되면이 은 "500 내부 서버 오류"를 발생시킵니다. 이러한 시간 제한을 방지하려면 과 오류가 있으므로 PHP 스크립트가 제한 시간 규칙으로 코딩되어 있는지 확인해야합니다. 그러나 일반적으로 데이터베이스에 연결하거나 외부 리소스 (예 : RSS 피드)에 연결하면 시간 초과 오류가 발생합니다. 결과적으로 스크립트는 계속 실행되어 의 스크립트가 멈 춥니 다.

외부 연결을 제거하면 웹 사이트의 성능이 향상 될 수 있으며 "500 내부 서버 오류"가 발생할 가능성이 줄어 듭니다.

1) 동적으로 생성/내 웹 서버 (*.php 파일)에서 js 파일을로드합니다. 따라서 현대 브라우저가 실제로이 캐시를 캐시하는지 또는 캐시 할 수 없는지를 알지 못하고 모든 페이지로드가 새로운 요청으로 처리됩니까? PHP는 어떤 css/j가로드되어야하는지 알려주기 위해 주어진 매개 변수에 따라 이것을 생성하기 때문입니다. 심지어이 500 내부 서버 오류가 발생할 수있는 문제 또는 문제입니까?

2) 모든 네트워크 데이터를 추적하고 디버깅하려면 어떤 Chrome 확장 프로그램을 권장 할 수 있습니까? Chrome DevTools를 제외하면 일반적으로 어떤 도구가 도움이 될까요?

3) 인용 된 텍스트는 시간 초과를 처리해야한다고 말합니다. 내가 확인해야 할 중요한 출처는 무엇인가? 아약스 요청 또는 PHP 세션이 문제가 될 수 있습니까?

4) 가장 중요한 것은 : 어떻게이 오류를 해결할 수 있습니까? 도메인을 www.vaymodels.com에서 탐색 할 수 있습니다. 나는 어떤 브라우저에서도 열 수 없으며 내 스마트 폰 (WiFi 사용 불가)조차도 열 수 없다. 어쩌면 누군가가 열어 페이지 소스를 볼 수 있습니다.

또한이 문제는 지난 며칠 동안 막 시작된 ​​것이라고 언급 할 가치가 있습니다. 나는 내 웹 사이트에서 작업하면서 도메인을 많이 새로 고치고 무작위로 5 ~ 10 분 동안로드를 전혀하지 않아도 파일을 지속적으로 업로드했습니다. 하지만 그 후 500 오류없이 도달 할 수 있습니다. 이제 도달 할 수없는 것 같습니다.

편집 : 내 웹 호스트가 방금 15에서 30으로 내 FPM 한도를 업데이트했다고 말했습니다. 그는 너무 많은 PHP 프로세스가 있다고 말했습니다. 이것은 내가 cronjob을 통해로드 된 파일을 통해 실행 중인지 또는 내가 찾아야하는 프로세스가 될 수 있고 가장 가능성있는 문제 일 수있는 mysql 쿼리로 인해 발생할 수 있습니까?

+0

** 1 **. URL이 파일에 대해 동일하면 브라우저가 파일을 캐시 할 수 있습니다. 문제가 발생한 경우? 몰라! 우리는 당신이 어떤 코드인지를 알지 못합니다. ** 2 **. 제 3 자 소프트웨어에 대한 문의는 SO에서 주제를 벗어나며 Chrome 플러그인은 서버에서 발생하는 것을 볼 수 없습니다 (브라우저에 아무 것도 반환하지 않기 때문에). **삼**. 타임 아웃은 php.ini 또는'iniset()'에서 설정할 수 있습니다. 그냥 구글 : "PHP에서 시간 초과 설정". ** 4 **. 나는 그것이 무엇을 일으키는 지 알 수있는 방법이 없기 때문에 오류를 "고치는"방법을 말할 수 없다. 오류 로그를 확인 했습니까? –

+0

방금 ​​내 질문을 편집했습니다. 그 점을 지적 해 주셔서 감사합니다. 어떤 부분이 내 경우와 관련이 있는지 알고 있다면 코드를 보여줄 것입니다. 프론트 엔드에서 일한 이후 미쳐 버렸습니다. 미안 해요. 나는 그 주제에 관해 읽을 것이다. 또한 내 오류 로그에 액세스 할 수 없지만 내 편집장의 말처럼 : FPM 한도와 너무 많은 프로세스에 대한 무언가. 나는 내 cronjob이 이것을 일으킬 수 있다고 생각하지만, 내가 고려해야 할 과정인지 아직 확실하지 않다. – AlexioVay

답변

1

먼저 어떤 스크립트가 500 오류를 발생시키는 지 이해해야합니다. 당신은 오류 로그를 살펴있을 수 있습니다하거나 의심스러운 스크립트의 상단에 추가 할 수 있습니다 :

ini_set("display_errors",1); 
error_reporting(E_ALL); 

이 문제가 어디에 있는지 이해하는 데 도움이 될뿐만 아니라 출력은 그래서 경우주의를 파괴하는 수 프로덕션 환경에서 사용하십시오.또한 염두에 두어야

<IfModule mod_expires.c> 
ExpiresActive on 
ExpiresByType text/css     "access plus 1 month" 
ExpiresByType application/javascript "access plus 1 month" 
ExpiresByType text/javascript   "access plus 1 month" 

<IfModule mod_headers.c> 
Header append Cache-Control "public" 
</IfModule> 

</IfModule> 

: 당신은 같은 the.htaccess 파일에 어떤 지시어를 사용하여 파일의 캐시 된 복사본을 사용하도록 브라우저에게 아파치를 지시 할 수 있습니다 : JS 및 CSS 자원의 캐싱에 대해

그러한 만료 한도는 자주 변경할 필요가없는 프로덕션 환경에서 유용 할 수 있습니다.

희망을 얻었습니다.

관련 문제