C이사 서버를 과부하 시켜 버린 파일의 정체를 밝혀주세요 ㅠㅠ 채택완료
pyiell
9년 전
조회 4,127
</p><p><?php
define('_INDEX_', true);
include_once('./_common.php');
include_once(G5_PATH.'/head.sub.php');
?></p><p><div>
<div>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
<li>F</li>
<li>G</li>
<li>H</li>
<li>i</li>
<li>J</li>
<li>K</li>
<li>L</li>
<li>M</li>
</ul></p><p>
<ul>
<?php
for ($i=1; $i<=13; $i++){
echo '<li><input type="text" name="r_damage$i" value="" class="repair_1"></li>';
}
?>
</ul>
</div>
</div></p><p><?php
include_once('./_tail.php');
?></p><p>
위 소스만 담고 있는 파일을 서버에 올려놓고 실행시켰더니 서버가 과부하 걸려 버렸습니다.
홈페이지가 너무 늦게 열리고
공용서버인지라
다른 사용자들 홈페이지까지 마비되었다고 합니다.
제가 좀 레벨이 낮아서 그러는데 위 소스의 문제 점이 무었입니까?
또 서버 마비될까봐 테스트를 못하겠습니다. ㅠㅠ
for ($i=1; $i<=13; $i++){ 이 부분에서 $i=13 요렇게 써보기도 했었습니다. 중간쯤 말고 젤 위 상단과 하단의 php는 다른 페이지에도 쓰고 있는 조합이라 문제가 없다고 생각됩니다만...
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
9년 전
흔히 격는 실수입니다만...
for문 2번째는 for를 끝내는 조건입니다. 이 조건이 false가 되지 않으면 무한루프를 돌면서
과부하를 유발합니다.
= 하나와 두개의 차이를 명확히 해야 할거 같습니다.
하나는 값의 이동 2개는 참, 거짓을 판명하는 조건입니다.
반드시 조건이 와야 합니다.
for문 안에 일정 횟수 이상이면 for문을 벗어나는 구문을 넣는 것도 좋은 방법입니다.
</p><p>$tmp = 0;</p><p>for ($i=1; $i<=13; $i++){</p><p> if($tmp >= 5) break; else $tmp++;</p><p> echo '<li><input type="text" name="r_damage$i" value="" class="repair_1"></li>';</p><p>}</p><p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
p
pyiell
9년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
습관화해서 문제를 최소화 할 수 있도록 해야겠네요!
좋은 팁 다시한번 감사드립니다!