이번에도 새 컴퓨터로 개발 환경을 구축하는 과정에서 생긴 에러 메시지를 해결하는 방법을 다뤄보겠다.
오늘의 포스트는,
- VSCode에서 php 파일을 만들 때 뜨는 "Cannot validate since a PHP installation could not be found. Use the setting 'php.validate.executablePath' to configure the PHP executable." 메시지를 해결한 이야기
- VSCode의 PHP Intelephense 익스텐션의 소개
를 하려고 한다.
Cannot validate since a PHP installation could not be found.
VSCode에서 간단한 테스트용 php 파일을 만들었는데, 캡처 이미지처럼 오른쪽 하단에 뭔가 메시지가 떴다.
Cannot validate since a PHP installation could not be found. Use the setting 'php.validate.executablePath' to configure the PHP executable.
이 메시지는 에러 메시지라기보다는 경고 메시지다.
그냥 무시해도 뭔가 에러를 발생시키거나 하지는 않는다.
이 메시지가 뜨는 이유는 '코드를 읽어주는 VSCode는 윈도우(또는 WSL)에 있는데, 정작 php 엔진은 도커 컨테이너 안에 있기 때문'이다.
이건 컴퓨터에 php를 설치했다면 그 경로를 잡아주면 바로 해결되는 문제다.
그런데 이 글에서는 그 방법을 소개하지는 않을 거다.
나는 컴퓨터에 php를 설치하지 않을 것이기 때문이다.
나처럼 php를 설치하지 않고, docker 컨테이너 내에서만 php를 설치해서 컴퓨터를 깔끔하게 관리하고 싶은 사람이라면, 지금부터 알려주는 방법을 따라 하자.
VSCode가 표시하는 경고 메시지만 무시하도록 설정을 바꾸는 방법이다.
- VSCode에서 [ctrl + ,(쉼표)]를 눌러 설정을 연다.
- 상단 검색창에 php.validate.enable을 입력한다.
- 체크박스를 해제한다.
이렇게 하면 "PHP를 찾을 수 없다"는 귀찮은 메시지가 더 이상 뜨지 않게 된다.
그런데 여기서 끝이 아니다,
VSCode가 php의 경로를 잡으려고 했던 이유를 설명하겠다.
VSCode는 사용자가 php 코드를 작성할 때 실시간으로 오타나 문법 에러를 찾아준다.
그런데 VSCode 자체가 php 전문가가 아니기 때문에, 내부적으로 내 컴퓨터에 설치된 php 실행 파일(php.exe)에게 "이 코드 문제없어?"라고 물어보고 답변을 받아오는 것이다.
그래서 현재 상태로는 php의 코드를 작성하다가 문법이 틀려도 VSCode는 틀린 곳을 바로잡아주지 않는다.
PHP Intelephense 익스텐션
PHP Intelephense는 php를 설치하지 않았어도 문법 보조를 받을 수 있는 확장 기능이다.
VSCode의 익스텐션 검색창에 PHP Intelephense를 입력한다.
Install 버튼을 클릭하자.
설치 전에 뭔가 메시지가 뜬다.
이 'Intelephense'라는 제작자를 신뢰하는지 묻는 것이다.
설치하려면 Trust Publisher & Install 버튼을 누르면 된다.
설치 후에 오른쪽 하단에 이런 메시지가 한 번 뜬다.
이 프로그램이 마음에 들면 유료 라이선스를 구매해서 개발자를 후원해달라는 내용이다.
나처럼 가난한 개발자는 X나 Dismiss 버튼을 클릭하자.
PHP Intelephense 익스텐션을 설치하기 전의 VSCode의 모습이다.
php의 문법이 틀린 채로 저장되어 있어도 VSCode는 아무런 표시도 해주지 않는다.
PHP Intelephense 익스텐션을 설치한 후의 VSCode의 모습이다.
문법에 오류가 있다고 표시를 해주고 있다.
이렇게 하는 방법 외에도, docker 컨테이너 내부의 php를 VSCode가 직접 인식하게 만드는 방법도 있다.
그런데 나에게는 그 방법이 익숙하지 않고, 이 방법이 더 편한 것 같아서 이렇게 했다.
이전에 사용하던 컴퓨터에서는 php를 설치했었기 때문에 경로를 지정해주는 것으로 끝냈었다.






0 Comments
댓글 쓰기
🔸 댓글은 블로그 운영자의 승인 후에 블로그에 표시됩니다.
🔸 비로그인 방문자 분께서는 '익명'보다 이름/URL로 댓글을 남겨주시면 감사하겠습니다. (URL은 생략 가능합니다.)
🔸 구글 로그인 방문자는 '알림 사용'에 체크를 하시면, 남겨주신 댓글에 대한 답글 알림을 메일로 받아볼 수 있습니다. 📩