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

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

· 15년 전 · 1574 · 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의 클래스부분이 많이 바뀌었다고 그러더라구여~

게시글 목록

번호 제목
28080
7612
7598
7595
19842
28079
19840
7593
28076
7590
28072
28065
19836
7586
28058
7573
31754
7552
28057
30993
28052
7546
7544
7538
7519
30992
19834
7517
7512
7511
19832
19820
7509
24658
7508
7507
19818
30990
7506
7505
7498
7492
28051
7481
30988
19813
19812
7477
7476
7471
7467
19810
7464
19809
7463
7457
30980
7450
28043
7447
7440
28040
7438
7430
7427
7423
7414
7408
7405
7401
7400
19808
7398
7393
7389
19805
7382
7379
7378
7363
7361
7356
19804
7355
7352
19786
7342
7336
7332
19783
7328
7325
7324
28036
19782
7321
26574
7314
7312
19781