블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2011. 4. 12. 15:59 Scripts
PHP 4.3 버전에서 잘만 돌아가던 소스가 5.2에선 먹통이었다.

소스 분석해 보니 변수값을 읽어 오지 못한 것이었는데..

php.ini에서 register_globals 값을 off하라는데... 별 소용이 없었다.

(아파치 재시작을 해주어야 함미다~~~)

php 4버전에서는 위 register_globals 값이 기본적으로 on이 되어있었지만

5버전으로 넘어오면서 보안강화를 이유로 off가 기본값으로 바뀌어 졌다.

따라서 설정을 바꾸지 않으려면 소스 하나씩을 다 바꾸어야 한다.
 
echo $no ; 

위 소스를

echo $_POST[no] ;

이런 방식으로 말이다.
 

하지만 일일히 바꿀 필요 없이 소스 상단에 몇줄 정의해 주기만 해도 된다.

extract($_POST) ;
extract($_GET) ;
extract($_SERVER) ;
extract($_FILES) ;
extract($_ENV) ;
extract($_COOKIE) ;
extract($_SESSION) ;

하지만 마지막 세션줄 추가하니 오류가 떠서 그냥 지워버렸다.
 
위 부분을 정의해 주거나 파일을 하나 생성해서 인클루드 하는 방법으로 해결할 수 있다.

만세
 
반응형
posted by Rootrator