본문 바로가기
IT, Software/Web

맥북 - PHP PDO + MSSQL 연동 & OpenSSL 환경 세팅하기

by 기타마을이장 2024. 11. 19.

 

상당히 큰 우여곡절이 있긴 했지만 두 번에 걸쳐 PHP 설치도 했고... Apache 랑 연동도 잘 되도록 조치까지 했다.

1. 맥북 MacOS 내장 Apache + PHP 연동 libphp7.so 오류 해결하기

 

맥북 MacOS 내장 Apache + PHP 연동 libphp7.so 오류 해결하기

여기저기 구글링을 해보면서 나름 그래도 순탄하게 MacOS 내장 Apache 세팅을 하고,PHP도 7.4 버전 설치와 VSCode 관련 설정도 마무리했다.먼가 한방에 잘 진행되는 것 같아 살짝 기분이 좋았다. 그리고

fidelislee.tistory.com

2. 맥북 - MacOS 내장 Apache, PHP 7.4 설치 VSCode에서 웹띄우기

 

맥북 - MacOS 내장 Apache, PHP 7.4 설치 VSCode에서 웹띄우기

최근 Flutter라는 Cross Framework를 사용하면서 상당히 신선한 충격을 받는 중이다.물론 Native에 비해서 여러 가지 제약사항들이 많은 것도 분명하지만소형 사업장 혹은 개인 프로젝트로 무언가를 시

fidelislee.tistory.com

 

드디어 기존에 윈도우 PC에서 개발하던 소스가 정말 제대로 잘 보이기 시작한다.

하지만 지금까지 작업한 것은 정말 Front 영역으로, 브라우저에 웹페이지를 띄우는게 주내용이었기 때문에,

당연하게도 웹페이지에서 뭔가 DB와 관련이 있는 로그인 등을 하려고 하면 에러가 뜬다.

 

PHP - MSSQL 연동모듈 설치하기

이제 남은 건 DB와 연동해 주기 위한 PHP의 PDO 환경설정이다.

MS 공홈에서는 관련해서 맥북에서 MSSQL과 연동가능하도록 해주기 위한 설치 가이드를 제공해주고 있었다.

그대로 따라 해 본다.

 

Linux and macOS Installation for the Drivers for PHP - PHP drivers for SQL Server

In these instructions, learn how to install the Microsoft Drivers for PHP for SQL Server on Linux or macOS.

learn.microsoft.com

 

PHP 7.4 용 Window MSSQL Drivers 설치하기

 

하지만 이번에도 초반부터 역시나 난관이 있었다. 따라 하던 도중에 7.4에 해당하는 설치목록이 없단다.

이게 먼 소린가 싶어서 찬찬히 맨 윗줄부터 다시 보니 권장되는 버전이 PHP 8.x 이라고 한다.

고로 7.4용으로 된 드라이버는 따로 구해야 하는 것 같다. 다시 한번 구글링의 세계에 들어가 본다.

 

Releases · microsoft/msphpsql

Microsoft Drivers for PHP for SQL Server. Contribute to microsoft/msphpsql development by creating an account on GitHub.

github.com

 

그렇게 찾아낸 곳이 바로 실제 모듈소스를 관리하는 Github였다. 그리고 이곳의 Release Note에서 정확한 단서를 찾아냈다.

Release Note를 보다 보니 작년에 이미 PHP 7.4 Support를 중단했다. 고로... 최신 모듈을 설치하면 당연히 php 7.4와 연동이 안된다;;

 

그래서 5.11.0 바로 아래의 버전으로 설치를 진행해야 했다. 설치방법은 역시 Release Note에 잘 적혀있었다.

 

다만 주의해야 할 점은 최신맥북들은 Silicon 칩을 사용하기 때문에 그냥 설치하면 안 된다.

일단 homebrew가 동작하는 기반 디렉토리 구조가 intel 칩 맥북이랑 다르기 때문에 꼭 주의를 해야 한다.

관련 내용은 MS 설치 페이지에도 잘 설명되어 있다.

# sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install sqlsrv-5.10.1
# sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install pdo_sqlsrv-5.10.1

 

그렇게 신나게 설치를 다 마무리하고 아파치 데몬을 다시 실행시켰다.

분명하라는 대로 제대로 한 것 같은데 이상하게 또 안된다. Driver 가 없다고??

 

먼가 이상해서 다시 한번 가이드 페이지를 살펴보니 마지막 부분에 참 사람 허탈하게 만드는 경고 문구가 있었다.

최근 맥에 기본 탑재되기 시작한 apache가 일부 필수 스크립트들을 빼서 탑재됐으니... brew로 따로 설치하란다.

지금까지 며칠을 그 수많은 에러들과 씨름하면서 해온 일들이 그냥 죄다 삽질 같은 기분이ㅠ

(마소야. M3 모델들까지 나온 마당에이런 정도의 경고문구면 좀 위쪽에 미리미리 좀 알려주면 안 되냐??ㅡ.ㅡ )

 

Brew로 Apache 다시 설치하기

결국 다시 설치하고 관련 conf 설정도 다시 했다.

그래도 한번 해봤다고 아주 오래 걸리진 않았지만 먼가 기운 빠지는 느낌은 지울 수가 없다;;

 

↓↓ 참조 사이트

 

macOS에 Homebrew로 Apache 설치하기

1. macOS 11.5.1 Big Sur 개발환경 세팅 Big Sur 필수 라이브러리 설치를 위해 아래 명령어를 수행합니다. > brew install openssl 내장 Apache가 이미 실행 중인 경우 먼저 종료하고 자동 로드 스크립트를 제거해

velog.io

 

Brew로 OpenSSL 설치하기

이젠 되겠지 했는데 웬걸... 이번엔 SSL 에러를 만났다. 물론 왠지 거의 다 온느낌이 들었다.

맥에는 기본적으로도 OpenSSL 이 탑재되어 있기는 한데 역시나 버전이 좀 낮은 것 같다. 그래서 따로 설치해 줬다.

설치 및 환경설정은 엄청 간단했다.

# brew install openssl
# ~/.zshrc

↓↓ 추가
export PATH="/usr/local/opt/openssl@3/bin:$PATH"

# source ~/.zshrc

 

그러고 나서 Apache, PHP 전부 한 번씩 restart 시켜줬다.

 

그렇게 결국은 apache까지 다 brew로 설치했다. 그리고 드디어 기대했던 모든 개발환경을 마무리할 수 있었다.

 

이번 맥북 개발환경을 세팅하면서 며칠을 에러와 씨름해 본 결과...

 

## 결론

1. Apache + PHP + MSSQL PHP Driver 모두 brew로 설치해 줘야 잘 되는 것 같다.

2. 가이드를 따라 할 때는 나와있는 cmd 명령어를 그냥 받아치기에 앞서서 위아래로 경고문구들(!)을 꼭 잘 확인하자!!

 

이제 맥북에서도 PHP 개발과 디버깅의 세계로 빠져들어본다.

반응형

댓글