여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

카테고리 없음

[PHP] 서버 이전 후 php 코드가 오류도 없이 실행되지 않는다면

Kamilake 2023. 1. 13. 11:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오류 로그를 보거나 기타 파일을 실행해도 오류 메시지가 전혀 없고 F12 개발자 도구에서 php 소스 코드가 주석 처리된 채로 그대로 보이는 문제가 있었습니다.

마치 모든 php 코드를 주석 처리해버리고 무시하는 것 같았죠

실제 파일 속 코드는 위와 같은 모습입니다. 

<? ?> 사이 어떠한 코드도 오류 표시 없이 실행되지 않는 모습이었습니다.

해결방법

너무나도 간단한 방법으로 해결할 수 있습니다.

<?를 <?php로, <?=<=echo 로 바꾸는 것이죠.

이를 php에서는 짧은 태그, short_open_tag라고 합니다.

php.ini 파일에서 짧은 태그 활성화하기

php.ini 파일에서 짧은 태그를 활성화해서 이 문제를 해결해 보도록 하겠습니다.

이 가이드를 따라하기 전에, 이 문제가 맞는지 확인하기 위해 위 변경사항을 수동으로 몇 개만 고쳐서 실행해 보세요.

잘 작동한다면 계속 따라 해 쉽게 고칠 수 있지만 여전히 작동하지 않는다면 이 가이드는 유용하지 않을 수 있습니다.

먼저, 각자의 방법으로 php.ini 파일을 찾아주세요.

AWS 라이트세일 EC2에서 Bitnami LAMP를 돌리는 저의 php 설정 파일은 /opt/bitnami/php/etc 속에 있었습니다.

저는 SSH 쉘 속에서 작업할 텐데, 원활하지 못하신 분은 FTP 또는 원격 파일 솔루션으로 php.ini를 가져와서 고치셔도 됩니다.

sudo nano /opt/bitnami/php/etc/php.ini

또는, sudo find / -name php.ini 명령으로 검색하세요.

그런 다음 Ctrl+W로 'short_open_tag ='를 검색해서 찾아주세요.

만약 'short_open_tag ='가 하나도 없다면, 코드 맨 마지막에 직접 적어주시면 돼요.

찾으셨다면 주석을 해제해서 켜주시면 됩니다! 저는 두 번째에서 찾았습니다.

short_open_tag = On

변경하셨다면 Ctrl+X로 저장하고 나와주시면 됩니다.

 

참고: php8에서는 On이 아니라 1입니다.

이제 php 또는 LAMP 스택을 재시작하면 모든 게 끝납니다.

제가 쓰는 Bitnami LAMP 스택이 없다면 그냥 php 서비스를 껐다 켜면 됩니다.

sudo /opt/bitnami/ctlscript.sh restart