Bash를 사용하여 PHP 확장 폴더 찾기

Bash를 사용하여 PHP 확장 폴더 찾기

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-configCentOS/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 파일의 출력에 반영되지 않았기 때문입니다.)

관련 정보