Tip & Tech

유용한 zigger 기술/활용 팁을 공유해 주세요.

PHP 8.1 사용 deprecated error 발생 솔루션 2023.08.31 05:28:37에 작성

  • 게시글 작성자 정박사
  • 게시글 조회수 125회
PHP 8.1부터 기존에 null을 파라미터로 넣는것에 관대하던 PHP가 deprecated error를 던지기 시작했습니다. ㅎㅎㅎ
모두 아시다시피 deprecated error 같은 경우는 시스템이 작동되는데는 문제가 없지만
문제는 zigger의 경우 그 error들이 웹사이트에 표시된다는 것이죠.
(늘 감사하고 있습니다~ 디버깅하는데 최고)

이 경우에는 방법은 한가지입니다. error를 던지는 function들을 다 다시 쓰는거죠.
아래는 제가 발견한 function들입니다.

함수, 기존, 해결방안 순으로 적겠습니다. 모든 프로젝트 파일에 동일하게 로직 적용하시면 됩니다.

str_replace
$html = str_replace('{{check_url}}', $this->chk_url, $html);
$html = str_replace('{{check_url}}', $this->chk_url ?? '', $html);

urlencode
$return_url = $req['thisuri'].'/'.$sql->fetch('max_idx').Func::get_param_combine('?category='.urlencode($req['category']), '?');
$return_url = $req['thisuri'].'/'.$sql->fetch('max_idx').Func::get_param_combine('?category='.($req['category'] ? urlencode($req['category']) : ''), '?');

strstr
if (strstr($ob_src_css, $file)) return false;
if (!is_null($ob_src_css) && strstr($ob_src_css, $file)) return false;

usleep (이 경우는 datatype 변환이네요)
usleep($this->timeToNext());
usleep(intval($this->timeToNext()));

괄호
<? } ?>
<?php } ?>

제가 찾은건 이정도입니다. 굉장히 많이 쓰이는 함수들이라 일일이 바꾸는 것보다는 php버전을 바꾸는게 더 나은 해결방안일수도 있겠네요.
그래도 혹시라도 필요한 분들이 있을까봐 이렇게 올립니다. 모두 화이팅입니다!