테스트 사이트 - 개발 중인 베타 버전입니다

php 5.3 업글하고 나서 다시 5.2로 다운.

· 15년 전 · 1573 · 6
1. ereg나 ereg_replace 가 php 5.3.1 부터 없어져 버렸네요.

이번에 서버 업글 하면서 5.3 으로 바꿨다가 무수히 뿜어 내는 에러들 때문에 놀랬습니다.

ereg,
eregi
ereg_replace
eregi_replace

등이 사용 불가능 합니다. preg, preg_replace를 주로 사용하는 습관을 들여야 겠습니다.

2. date() 함수도 에러를 뿜더군요.

date("Y-m-d", $row['wdate']); $row['wdate'] 는 서버에 1131341 형태의 타임스탬프 값인데,

-> date's 2 arguments to be long, but string given.. 두번째 인수로 문자형이 오면 에러 뿜습니다.

date("Y-m-d", intval($row['wdate'])); 이렇게 모든 페이지 찾아서 다 수정해 줬습니다.

3. 서버 설정이기는 하지만 기본 설정이
<?
이렇게 시작되면 php 내용을 그대로 출력 해버립니다.

php.ini
allow_short_tag = On // 이거는 조금 찾아 보시면 금방 나오실듯.

20분정도 테스트하다가 놀래서 다시 다운했습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

정보 감사합니다.
php 5.3 도대체 너는 @!#$%#$%^&@$%&
저도 감사합니다!!!
감사합니다.

이제부터 <? 를 <?php 로 사용하도록 해야겠군요....
소수점 한자리씩 올라가면 릴리즈노트 한번 자세히 읽어보셔야 해요

5.3에서는 특히 클래스쪽으로 변경되는게 엄청 많습니다
14년 전
원래 namespace 기능 때문에 5.3으로 업그레이드 할려구 했는데,

이러한 에러 때문에 포기했습니다.

date() 함수에서 2번째 인자 값으로 숫자를 요구하는 것은 5.2에서도 마찬가지 이군요.

split(), spliti() 함수도 사라 졌군요. explode() 를 사용하셔야 할듯요.
엘코님말씀에 동의합니다.
5.2와 5.3의 클래스부분이 많이 바뀌었다고 그러더라구여~

게시글 목록

번호 제목
8050
8048
19969
19968
19967
19966
19965
19964
19963
19962
19961
28345
31017
19960
19959
19958
19957
8039
8035
8029
28344
28339
8019
28338
8017
8010
8007
8004
8003
28332
28322
7999
28317
20956
7992
20945
28314
20936
20931
7986
20925
7982
7979
7978
7975
28307
7973
7966
28305
7963
28300
7961
28297
28295
7959
19948
19947
28292
31016
19946
19945
28286
7958
7956
7952
7946
28285
28283
19943
7944
7936
7931
28279
24666
24663
7928
7923
19941
28274
28257
28249
28248
7914
7912
7911
20912
7908
31755
28233
28232
28228
7903
28217
20900
24662
20891
20882
19936
20853
31011