오류 로그를 보거나 기타 파일을 실행해도 오류 메시지가 전혀 없고 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