어떤 PHP 확장이 설치되어 있는지 확인하는 방법


13

이전 서버에 설치된 것과 동일한 php 확장을 램프 서버에 정확히 설치해야합니다. 새 서버에 동일한 확장을 설치하려면 어떤 확장이 설치되어 있는지 정확히 어떻게 알 수 있습니까?

답변:


18

명령 행 스위치 -m를 사용하여 php설치된 모듈을 확인할 수 있습니다 .

$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...

이 정보를 포함하는 명령 행을 통해 출력 php -i을 얻는 데 사용할 수도 있습니다 phpinfo();.

참고 문헌


5
이것은 아파치에서 실행되는 PHP에 포함 된 동일한 모듈 세트가 아닐 수도 있습니다.
Rich Remer

2

확장이 실제로 사용되는 경우 php.ini어딘가 에서 참조해야합니다 . 확장은 매우 직관적 인 방식으로로드됩니다.

extension=msql.so
extension=/path/to/extension/msql.so

주의해야 할 사항은 추가 ini파일에 포함 된 확장명입니다 . 데비안에 대해서는 잘 모르겠지만 RHEL에는 /etc/php.d/모든 .ini파일이 마치 메인 파일에있는 것처럼 취급 되는 디렉토리가 있습니다./etc/php.ini

그것이 두 장소 php.ini중 하나 (주 파일 또는 포함 된 파일 중 하나)에 없다면 확장은 사용되지 않는 파일 시스템에 앉아있는 것입니다.

편집하다:

사실, 내가 거짓말 한 것 같아 dl () 호출에 대한 PHP 파일봐야 할 수도 있습니다 . 그래도 확장 프로그램을로드하는 많은 사람들을 알지 못합니다. 유스 케이스가 무엇인지 확실하지 않지만 확인해야 할 또 다른 영역입니다.


PHP를 빌드한지 오래되었지만, 확장 프로그램을 정적으로 컴파일하도록 선택할 수 있다고 생각합니다.이 시점에서 이러한 옵션 중 어느 것도 도움이되지 않습니다.
Jules

2

데비안에서 PHP 확장은 /etc/php5/conf.d의 파일을 통해로드됩니다

여기에 설치 될 수있는 두 가지 유형의 PHP 데비안 패키지가 있습니다.

  • 데비안 PHP 패키지 (php5-로 시작하는 이름을 가짐)
  • PECL PHP 패키지 (php-로 시작하는 이름이 있음)

시스템에서 두 가지를 모두 나열하려면 다음 명령을 사용할 수 있습니다. dpkg -l | grep 'ii php5 \?-' php- 또는 php5-로 시작하는 설치된 패키지를 나열합니다.

소스 코드에서 PECL로 빌드 된 확장이있을 수도 있습니다. 가진 사람을 나열 PECL 목록

마지막으로, 자신 만의 확장 프로그램을 구식으로 컴파일 할 수 있습니다. 이 경우 /etc/php5/conf.d파일이 없지만 php.ini 자체에 추가 될 수 있습니다.

모든 확장에는 보통 phpinfo () 의 출력 섹션이 있습니다 . . php -mPHP가로드 한 확장명 목록을 보여줍니다 (각각 phpinfo 출력에 자리가 있어야 함). 데비안에서 애드온 패키지로 설치되는 것보다 php -m 출력 에 더 많은 확장이 나열 될 것입니다 . 왜냐하면 PHP에 내장 된 기본 확장 기능과 나중에 설치할 수있는 확장 기능이 많기 때문입니다.

다음은 추가 설치된 PHP 확장을 나열하는 개발 시스템의 출력 예입니다.

root@zaphod:~# dpkg -l | grep 'ii  php5\?-'
ii  php-auth-sasl                         1.0.4-1                            all          Abstraction of various SASL mechanism responses
ii  php-db                                1.7.14-2                           all          PHP PEAR Database Abstraction Layer
ii  php-mail                              1.2.0-4                            all          PHP PEAR module for sending email
ii  php-mail-mime                         1.8.4-1                            all          PHP PEAR module for creating MIME messages
ii  php-mail-mimedecode                   1.5.5-1                            all          PHP PEAR module to decode MIME messages
ii  php-net-smtp                          1.6.1-1                            all          PHP PEAR module implementing SMTP protocol
ii  php-net-socket                        1.0.9-2                            all          PHP PEAR Network Socket Interface module
ii  php-pear                              5.4.39-0+deb7u2                    all          PEAR - PHP Extension and Application Repository
ii  php-xml-parser                        1.3.4-6                            all          PHP PEAR module for parsing XML
ii  php5-cgi                              5.4.39-0+deb7u2                    amd64        server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                              5.4.39-0+deb7u2                    amd64        command-line interpreter for the php5 scripting language
ii  php5-common                           5.4.39-0+deb7u2                    amd64        Common files for packages built from the php5 source
ii  php5-curl                             5.4.39-0+deb7u2                    amd64        CURL module for php5
ii  php5-dev                              5.4.39-0+deb7u2                    amd64        Files for PHP5 module development
ii  php5-gd                               5.4.39-0+deb7u2                    amd64        GD module for php5
ii  php5-imagick                          3.1.0~rc1-1+b2                     amd64        ImageMagick module for php5
ii  php5-imap                             5.4.39-0+deb7u2                    amd64        IMAP module for php5
ii  php5-intl                             5.4.39-0+deb7u2                    amd64        internationalisation module for php5
ii  php5-mcrypt                           5.4.39-0+deb7u2                    amd64        MCrypt module for php5
ii  php5-mysql                            5.4.39-0+deb7u2                    amd64        MySQL module for php5
ii  php5-pgsql                            5.4.39-0+deb7u2                    amd64        PostgreSQL module for php5
ii  php5-sqlite                           5.4.39-0+deb7u2                    amd64        SQLite module for php5
ii  php5-suhosin-extension                0.9.37-2                           amd64        advanced protection system for PHP5
ii  php5-sybase                           5.4.39-0+deb7u2                    amd64        Sybase / MS SQL Server module for php5
ii  php5-xdebug                           2.2.1-2                            amd64        Xdebug Module for PHP 5
root@zaphod:~# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package  Version State
APC      3.1.13  beta
memcache 3.0.8   beta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.