답변:
/ usr / lib64 / php / modules를 ID가있는 폴더에 대한 심볼릭 링크로 만들 것을 제안합니다. 이것은 장기적으로 다른 버전의 PHP에서 확장을 혼합하는 것을 방지합니다.
그 외에도 : EXTENSION_DIR
PHP의 configure를 실행하기 전에 환경 변수 로 설정하여 설정할 수 있어야 합니다. 같은
$ EXTENSION_DIR=/my/location ./configure --with-some-extension
내 문제는 동일하지 않지만이 질문은 궁극적으로 매우 도움이되는 답변으로 처음 나타 났으므로 의견을 추가 할 것입니다.
디렉토리 구성으로 인해 PHP를 (도커 컨테이너에서 실행되는 Centos7에서) MySQL을 사용하는 데 문제가있었습니다. 사전 빌드 된 바이너리를 사용하고 아무것도 컴파일하지 않았지만. 다양한 pdo 및 mysqlnd.so 모듈과 .ini 파일이 내 컨테이너에 설치되었지만 ( PHP 설치 마법사에yum install php72
지정된 표준 및 기타 모든 항목을 사용하여 ) PHP가 찾고 있던 기본 위치에는 없었습니다. 왜 그런지 모르겠습니다. 어쩌면 그것은 일종의 도커 일입니까?
어쨌든,이 문제를 해결하기 위해 extension_dir
지시문을 에코로 PHP.ini
보내야했고 또한 PHP_INI_SCAN_DIR
env 변수를 설정했습니다 . 이들은 Dockerfile의 관련 명령입니다.
ENV PHP_INI_SCAN_DIR=/etc/php.d/
RUN echo 'extension_dir = "/usr/lib64/php/modules"' >> /etc/opt/remi/php72/php.ini
@johanes가 경고하는 것처럼 나중에 모듈 충돌이 발생하지 않기를 바랍니다.
yum update
입니다. 여기에 뭔가 빠졌습니까?
.../remi/...
폴더에 들어 가지 않는 문제를 해결할 수 있습니까?
EXTENSION_DIR=/usr/lib64/php/modules phpize
.