이전 서버에 설치된 것과 동일한 php 확장을 램프 서버에 정확히 설치해야합니다. 새 서버에 동일한 확장을 설치하려면 어떤 확장이 설치되어 있는지 정확히 어떻게 알 수 있습니까?
이전 서버에 설치된 것과 동일한 php 확장을 램프 서버에 정확히 설치해야합니다. 새 서버에 동일한 확장을 설치하려면 어떤 확장이 설치되어 있는지 정확히 어떻게 알 수 있습니까?
답변:
명령 행 스위치 -m
를 사용하여 php
설치된 모듈을 확인할 수 있습니다 .
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
이 정보를 포함하는 명령 행을 통해 출력 php -i
을 얻는 데 사용할 수도 있습니다 phpinfo();
.
확장이 실제로 사용되는 경우 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 확장은 /etc/php5/conf.d의 파일을 통해로드됩니다
여기에 설치 될 수있는 두 가지 유형의 PHP 데비안 패키지가 있습니다.
시스템에서 두 가지를 모두 나열하려면 다음 명령을 사용할 수 있습니다. dpkg -l | grep 'ii php5 \?-' php- 또는 php5-로 시작하는 설치된 패키지를 나열합니다.
소스 코드에서 PECL로 빌드 된 확장이있을 수도 있습니다. 가진 사람을 나열 PECL 목록
마지막으로, 자신 만의 확장 프로그램을 구식으로 컴파일 할 수 있습니다. 이 경우 /etc/php5/conf.d 에 파일이 없지만 php.ini 자체에 추가 될 수 있습니다.
모든 확장에는 보통 phpinfo () 의 출력 섹션이 있습니다 . . php -m 은 PHP가로드 한 확장명 목록을 보여줍니다 (각각 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