Source Guardian PHP 확장을 설치하기 위해 bash 스크립트를 작성하려고 하는데 대상 디렉터리가 Ubuntu의 후속 버전마다 다릅니다.
Ubuntu 14.04에 PHP5를 설치하면 확장이 /usr/lib/php5/20121212+lfs/에 저장됩니다. Ubuntu 15.04에서는 이 디렉터리가 변경됩니다(예: /usr/lib/20131226/).
/etc/php5/fpm/php.ini 및 /etc/php5/fpm/php-fpm.conf를 확인했지만 이 파일 중 어느 것도 20121212+lfs 또는 20131226을 언급하지 않았습니다.
Source Guardian 확장 프로그램을 다른 곳에 놓으면 로드되지 않습니다.
프로그래밍 방식으로 확장 폴더를 결정하는 방법이 있습니까?
답변1
어쩌면 이렇게 해야 할 수도 있습니다:
php-config --extension-dir
php-config
없는 경우 Ubuntu apt-get install php-config
/Debian 또는 yum install php-config
CentOS/Red Hat)
php
이 명령은 확장 폴더의 정확한 위치를 제공합니다 .
php.ini
확장 프로그램을 사용하려면 확장 프로그램을 변경하는 것을 잊지 마세요 .
답변2
당신은 이것을 사용할 수 있습니다
php -i | grep extension_dir
답변3
xdebug 파일 확장자를 검색할 수 있습니다.find $(php -r 'echo ini_get("extension_dir");') -type f -name 'xdebug.so'
아니면 그냥 값을 얻으세요:php -r 'echo ini_get("extension_dir");'
답변4
그래도 그냥 추가하고 싶었어
php-config --extension-dir
확장 디렉토리가 제공되지만 일반적으로 활성 php.ini 파일에서 일부 확장 위치를 수정합니다. (여러 PHP 버전을 시스템에 동시에 설치할 수 있습니다. phpinfo 함수의 출력을 보면 현재 php.ini 파일 위치를 찾을 수 있습니다. phpinfo 함수의 출력에서 php.ini 찾기를 사용하십시오.)
예를 들어, zend_extension 변수를 사용하면 xdebug는 주로 php.ini 파일 끝에 있는 확장 디렉터리와 다른 폴더에 위치할 수 있습니다.
zend_extension=/usr/lib/php/20170718/xdebug.so
따라서 디렉토리의 모듈 파일을 교체할 때는 주의하십시오. (한 순간 이상해졌습니다. 파일을 변경했지만 실제로는 phpinfo 파일의 출력에 반영되지 않았기 때문입니다.)