안녕하세요. 인프라?랑 관련된 내용에 가까운 질문을 드리고자 합니다.
강의 내용들이랑은 거리가 멀 수 있어서 말씀해주시면 자삭토록 하겠습니다!
제가 알기론 PHP가 C언어로 제작되었다라고 알고 있습니다.
CentOS 운영체제 내에 Apache, PHP를 이용을 하되
yum install php(패키지 설치방식이라고 하겠습니다 ㅠㅠ) 등을 사용하지 않고
PHP와 Apache 특정 버전의 C언어로 작성된 소스를 저장소에서 다운받아와서 make를 이용한 컴파일 방식이 필요하다라고 하더라구요.
서버 자체에 대한 이해가 부족한 편이기도하며 어떤 버전을 깔아야하는지 감이 안잡히도 합니다.. 대충 7, 8 중에 선택해서 하면 되긴 한다고 하더라구요.
혹시 이런 방식으로 해보신 적이 있으신지나 있으시다면 이렇게 하는 이유가 무엇이라고 생각하시나요?
기본적으로 제공해주는 PHP 패키지 설치 방식은 위험하다거나 그런 것들이 있을까요?
안녕하세요. 정상우입니다 🙂 오랜만에 질문이 게시되었네요.
리눅스에서 PHP 를 비롯한 소프트웨어를 설치하실 때에는 컴파일하여 설치하거나 패키지 매니저를 사용하실 수 있습니다. 다만 PHP 를 설치해야 할 때 꼭 컴파일하여 설치할 필요는 없습니다. 선택하여 하시면 됩니다. 대신 컴파일과 패키지 매니저로 설치할 때는 서로 장단점이 있습니다.
컴파일:
장: 소프트웨어 퍼블리셔가 배포한 신 버전의 소프트웨어를 패키지 매니저에 배포되기 전에 설치할 수 있습니다.
장: 컴파일 설치 시 설치 옵션을 세밀하게 설정하여 성능 상의 이점이 있습니다.
단: 설치하는 패키지가 단일로 동작하는 것이 아닌 다른 패키지에 대한 의존성이 존재할 경우 패키지 매니저가 의존성을 관리하지 않아 추가적으로 다른 의존성까지 직접 설치해야 하므로 어려울 수 있습니다.
단: 많은 에러를 마주할 가능성이 있어 시간이 소모될 뿐만 아니라 유지보수 상의 진입장벽이 있습니다.
패키지 매니저:
장: 의존성을 패키지 매니저가 관리하여 별 다른 조작 없이 다른 의존성도 함께 설치할 수 있으며 편리합니다.
장: 패키지 매니저가 소프트웨어를 관리하므로 설치/제거/업데이트 등의 관리가 수월합니다.
단: 소프트웨어 퍼블리셔가 신 버전의 소프트웨어를 패키지 저장소에 아직 등록하지 않았을 경우 구 버전이 설치될 수도 있습니다. 예를 들어 신 버전의 PHP 가 8.3 인데, 저장소에는 구 버전인 8.2 가 가장 최근인 경우에 해당합니다.
추천: 패키지 매니저/이유: 편의성
*컴파일 설치도 알아두면 좋습니다. 때때로 보안 이슈로 퍼블릭 패키지 매니저의 저장소를 사용하지 못하도록 하는 경우도 있기 때문입니다. 또한 부득이하게 컴파일 설치로만 해야 하는 경우에도 대처할 수 있게 될 것입니다. 그 외에는 패키지 매니저로 하는 것이 건강에 좋습니다.
이 강의는 PHP 7.4 를 기준으로 하고 있습니다. PHP 의 신 버전은 8.3 이므로 신 버전을 설치하셔도 됩니다만, 언어의 버전이 올라감에 따라 Deprecated 되거나 Removed 된 기능들이 있을 수 있으니 주의가 필요합니다.
답글
geol2
2024.05.09감사합니다!