내 사이트가 "500 내부 서버 오류"종종 늦게, 그리고 호스트는이 bundle.css.php 스크립트가 이유가 될 수 있음을 조언했다 고통되었습니다 일으키는 이유는 ...스크립트 500 내부 서버 오류
<?php
ob_start('ob_gzhandler');
header('Content-Type: text/css');
$files = split(",",$_GET['files']);
foreach($files as $key=>$val){
if(file_exists($val.'.css')){
include_once($val.'.css');
}else{
echo "\n\n/*** File \"$val\" does not exist. ***/\n\n";
}
}
?>
내 호스트의 말로 ...
"모든 출력을 ob_gzhandler에 버퍼링하려고합니다. GET 변수 'files'에 전달 된 매개 변수의 매우 안전하지 않은 목록을 취한 다음이를 포함하려고합니다. 파일을 출력으로. 어떤 매개 변수 목록이 전달되는지 정확히 모르겠지만 스크립트의 어딘가에 파일 이름의 큰 배열을 전달하는 버그가있는 것 같습니다. 이 스크립트로, 너무 커서 버퍼링 된 객체를 만들려고합니다. "
이것은 내 전문 기술을 넘어선 것이므로 문제를 해결할 수있는 조언을 많이 주시면 감사하겠습니다. 많은 감사합니다.
UPDATE
에러 로그 같은 라인 가득 ...
[월 4월 15시 44분 41초 2,012 23] [오류] 클라이언트 xx.xx.xx. XX] (12) 메모리를 할당 할 수 없습니다 : 자식 프로세스를 만들 수 없습니다 :/옵션/suphp 경우/sbin/suphp /home/xxxxxy/public_html/xxxx.php를 들어, 리퍼러 : http://www.xxxxxxx.com/wp-content/themes/xxx/style.css
알 수없는 사용자가 알 수없는 작업을 수행하고있을 때만이 기능이 실패합니까? 후자의 경우, 알려지지 않은 것을 알려주기를 원합니다. 일종의 로깅 프레임 워크를 사용하거나 코드에서 유용한 디버깅 출력을 추가하여 오류가 발생할 때보다 유용한 런타임 정보를 볼 수 있습니다. 특히,이 코드가 실패했을 때'$ _GET [ 'files']'의 값과 _actual_ 오류가 무엇인지 알기를 원할 것입니다. – David
도움에 감사드립니다. 내 경험이 없으므로 어디에서 봐야할지 모르겠다. 유용한 디버깅 출력을 얻을 수있는 곳과 코드가 실패 할 때 $ _GET [ 'files']을 어떻게 결정할 지 조언 해줄 수 있습니까? 서버 로그? –
확실히 서버 로그가 있어야하며 호스팅 제공 업체가 해당 정보를 얻을 수 있어야합니다. 특히 서버 로그 정보를 제공하지 않으면 다른 공급자를 찾아야합니다 :) 사용자 정의 디버깅 출력을 생성하려면 해당 코드에 대한 내용을 추가해야합니다 . 로깅 도구를 찾기 시작할 때 좋습니다. http://stackoverflow.com/q/341154/328193 – David