[PHP] 에러 : unterminated string literal

PHP 2018. 2. 8. 18:36




■ 에러 : unterminated string literal




기존 코드를 PHP5에서 PHP7으로 옮기고 아파치 버전도 2.4로 올리면서 발생했다.

단순 스크립트 에러인줄 알았는데, 같은 브라우저에서 똑같이 띄었을때 이런 에러가 발생해서 일단 정리해 본다.


 에러가 발생 하는 경우

<?php

            echo "<script type='text/javascript'>";
            echo "alert('가입되었습니다.\n로그인 페이지로 이동합니다.');";
            echo sprintf("window.location.replace('%s');", $backUrl);
            echo "</script>";

?>



자바스크립의 엔터 기호인 \n 때문에 이런 문제가 발생하였다.

그런데 정상적으로 돌아간 버전도 있다.



두 실행 환경의 차이점

 

서버

PHP Version

에러가 발생하지 않는 경우

Microsoft-IIS/5.0

5.6.30

에러가 발생하는 경우

Apache/2.4.23 (Win64)

7.0.11



 에러가 발생 하지 않는 경우

<?php

            echo "<script type='text/javascript'>";
            echo "alert('가입되었습니다.\\n로그인 페이지로 이동합니다.');";
            echo sprintf("window.location.replace('%s');", $backUrl);
            echo "</script>";

?>



무엇이 차이인지는 잘 모르겠고 기존에 되던 환경에서 무언가 세팅이 되있는것 같지만.

이제 앞으로는 \\n을 기본적으로 붙이고 코딩 하는 습관을 들여야 겠다.





'PHP' 카테고리의 다른 글

[PHP] 에러 : unterminated string literal  (0) 2018.02.08
[PHP] APM 연동과정  (1) 2014.03.18
[PHP] 서버와 클라이언트  (0) 2014.03.18
[PHP] HTML과 PHP  (0) 2014.03.18
[PHP] PHP의 특징  (0) 2014.03.18