
이전 서버에 설치된 것과 동일한 PHP 확장을 램프 서버에 설치해야 합니다. 새 서버에 동일한 것을 설치하기 위해 어떤 확장이 설치되어 있는지 정확히 알 수 있는 방법은 무엇입니까?
답변1
명령줄 스위치를 사용 -m
하면 php
어떤 모듈이 설치되어 있는지 확인할 수 있습니다.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
이 정보도 포함하는 명령줄을 통해 출력을 php -i
얻는 데 사용할 수도 있습니다 .phpinfo();
참고자료
답변2
php.ini
확장이 실제로 사용되는 경우 어딘가 에서 참조되어야 합니다 . 확장은 매우 직관적인 방식으로 로드됩니다.
extension=msql.so
extension=/path/to/extension/msql.so
기타 등등
주의해야 할 한 가지는 추가 ini
파일이 포함되어 가져오는 확장입니다. Debian에 대해서는 잘 모르겠지만 RHEL에는 /etc/php.d/
모든 .ini
파일이 기본 파일에 있는 것처럼 처리되는 디렉토리가 있습니다./etc/php.ini
두 위치 중 하나(기본 또는 포함된 파일 중 하나)에 없으면 php.ini
확장자는 사용되지 않는 파일 시스템에 있는 것입니다.
편집하다:
사실 제가 거짓말을 한 것 같아요. 당신은해야 할 수도 있습니다dl() 호출에 대한 PHP 파일을 살펴보십시오.. 하지만 그런 확장 프로그램을 로드하는 사람은 많지 않습니다. 사용 사례가 무엇인지 확실하지 않지만 확인해야 할 또 다른 영역입니다.
답변3
데비안에서 PHP 확장은 다음의 파일을 통해 로드됩니다./etc/php5/conf.d
여기에 설치될 수 있는 PHP Debian 패키지에는 두 가지 유형이 있습니다.
- Debian PHP 패키지(이름이 php5- 로 시작함)
- PECL PHP 패키지(이름이 php- 로 시작함)
시스템에 두 가지를 모두 나열하려면 다음 명령을 사용할 수 있습니다. dpkg -l | grep 'ii php5\?-' php- 또는 php5- 로 시작하는 설치된 패키지를 나열합니다.
소스 코드에서 PECL을 사용하여 빌드된 확장이 있을 수도 있습니다. 다음 사항을 포함하는 항목을 나열하세요. PECL 목록
마지막으로, 기존 방식으로 자신만의 확장을 컴파일하는 것이 가능합니다. 이 경우 파일이 없을 수도 있습니다./etc/php5/conf.d하지만 php.ini 자체에 추가될 수도 있습니다.
모든 확장에는 일반적으로 다음의 출력 섹션이 있습니다.PHP정보();. PHP -mPHP가 로드한 확장 목록이 표시됩니다(각 확장은 phpinfo 출력에 위치해야 합니다). 더 많은 확장 프로그램이 나열됩니다.PHP -mPHP에는 기본 확장 기능이 내장되어 있고 나중에 설치할 수 있는 확장 기능도 많이 있기 때문에 데비안에서는 추가 기능 패키지로 설치됩니다.
다음은 추가로 설치된 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