이전 서버에 설치된 램프 서버에 정확히 동일한 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
확장 프로그램은 사용되지 않는 파일 시스템에 있는 것입니다.
편집하다:
사실 제가 거짓말을 한 것 같아요. 당신은해야 할 수도 있습니다PHP 파일에 dl()에 대한 호출이 있는지 확인하십시오.. 그런데 이런 확장 프로그램을 로드하는 사람이 몇 명이나 될지 궁금합니다. 사용 사례가 무엇인지 확실하지 않지만 이는 아마도 확인해야 할 또 다른 영역입니다.
답변3
Debian에서 PHP 확장은 다음 파일을 통해 로드됩니다./etc/php5/conf.d
여기에 설치할 수 있는 PHP Debian 패키지에는 두 가지 유형이 있습니다.
- Debian PHP 패키지(php5-로 시작하는 이름)
- PECL PHP 패키지(이름은 php-로 시작)
시스템에 두 가지를 모두 나열하려면 다음 명령을 사용할 수 있습니다. dpkg -l | dpkg -l | grep 'ii php5\?-' php- 또는 php5-로 시작하는 설치된 패키지가 나열됩니다.
PECL을 사용하여 소스에서 확장을 빌드할 수도 있습니다. 다음 사항을 나열하십시오. 곡괭이 목록
마지막으로 자신만의 확장 기능을 기존 방식으로 컴파일할 수 있습니다. 이 경우 파일이 없을 수 있습니다./etc/php5/conf.d하지만 php.ini 자체에 추가될 수도 있습니다.
모든 확장에는 일반적으로 출력 섹션이 있습니다.PHP정보();. PHP-mPHP에 로드된 확장 목록이 표시됩니다(각 확장은 phpinfo 출력에 위치해야 합니다). 더 많은 확장 프로그램이 나열됩니다.PHP-mPHP에 내장된 기본 확장과 나중에 설치할 수 있는 확장이 많기 때문에 Debian에 추가 기능 패키지로 설치하는 것보다 더 많은 출력이 있습니다.
다음은 설치된 추가 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