php 확장모듈 intl , zip 이 로드가 되지 않습니다.
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.3 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
php 확장모듈 intl , zip 이 로드가 되지 않습니다.
intl.so zip.so 는 존재하는데 왜 로드가 되질 않을까요?
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.3 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
php 확장모듈 intl , zip 이 로드가 되지 않습니다.
intl.so zip.so 는 존재하는데 왜 로드가 되질 않을까요?
댓글 6
1. 버전이나 아키텍처에 맞지 않는 .so 파일을 설치했거나
- 예: PHP 7.3인데 php72-php-zip 패키지를 설치하는 등...
2. /etc/...중략.../php.d 폴더 내에 해당 파일을 로딩하는 설정파일이 없거나
- 정상적인 repo를 사용하여 설치하셨다면 2)의 원인은 1)입니다.
그럼 정상적으로 설치한 것이 아니겠죠. remi repo라면 버전에 따라 패키지가 상당히 세분화되어 있고, /etc/yum.repos.d에서 활성화시켜 줘야 하는 파일도 여러 개이니 사용하시는 버전에 맞는 것을 잘 찾아보시기 바랍니다. 설정 파일에서 enabled 해놓고 그냥 php-패키지를 설치한 것과, 그렇지 않은 상태에서 --enablerepo 옵션으로 특정 버전을 강제 설치한 것과, 그냥 php73-php-패키지를 설치한 것이 다 다릅니다. 여러 방식을 섞어서 설치하면 난리납니다 ㅠㅠ
yum install 시에 사용했던 repo가 무엇인지, 내가 설치한 모듈의 버전이 맞는지를 다시 한번 체크해주세요.
가급적이면 특정 옵션을 사용해서 yum install을 한다면 위치가 다르거나 버전이 다를 수 있습니다.
즉 php를 CentOS 기본 저장소에서 설치하셨다면 확장들도 역시 같은 곳에서 설치하셔야 하며, webtatic에서 설치하신 경우 역시 확장도 같은 저장소에서 설치하셔야 합니다.
만약 php를 webtatic에서 설치하셨는데 확장은 remi에서 설치하시는 등 혼용하시는 경우 경로가 달라 서로 다른 곳에 설치되거나, 심한 경우 php만 2개 설치되어 웹서버에서 사용하는 php 바이너리와 콘솔에서 사용하는 php 바이너리가 서로 달라질수 있습니다. 이경우 콘솔에서는 잘 뜨는데 웹에서는 인식을 못하는 일이 생깁니다.
결론은, php나 확장 설치방식을 다시 체크하시고(어떤 명령으로 설치하신건지 여기에 적어주시면 더욱 좋습니다) 둘 다 서로 같은 저장소에서 설치하시면 정상 설치될겁니다.