Tôi cần cài đặt trên máy chủ đèn chính xác cùng các tiện ích mở rộng php được cài đặt trên máy chủ cũ, làm thế nào để biết chính xác tiện ích mở rộng nào được cài đặt để cài đặt tương tự trên máy chủ mới?
Tôi cần cài đặt trên máy chủ đèn chính xác cùng các tiện ích mở rộng php được cài đặt trên máy chủ cũ, làm thế nào để biết chính xác tiện ích mở rộng nào được cài đặt để cài đặt tương tự trên máy chủ mới?
Câu trả lời:
Bạn có thể sử dụng công tắc dòng lệnh -m
để php
xem những gì các module được cài đặt.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
Bạn cũng có thể sử dụng php -i
để nhận phpinfo();
đầu ra thông qua dòng lệnh bao gồm thông tin này.
Nếu tiện ích mở rộng đang thực sự được sử dụng, nó sẽ cần được tham chiếu ở php.ini
đâu đó. Tiện ích mở rộng được tải theo cách khá trực quan:
extension=msql.so
extension=/path/to/extension/msql.so
Vân vân.
Một điều cần chú ý là các tiện ích mở rộng được đưa vào bởi một ini
tệp bổ sung được đưa vào. Tôi không chắc chắn về Debian, nhưng trên RHEL có một /etc/php.d/
thư mục chứa tất cả .ini
các tệp được xử lý như thể chúng nằm trong chính/etc/php.ini
Nếu nó không ở một trong hai vị trí đó (chính php.ini
hoặc một trong các tệp được bao gồm) thì phần mở rộng ít nhiều chỉ nằm trên hệ thống tệp không được sử dụng.
BIÊN TẬP:
Thật ra, tôi nghĩ mình đã nói dối. Bạn có thể phải xem các tệp php của mình để gọi các cuộc gọi đến dl () . Tuy nhiên, tôi không biết nhiều người tải tiện ích mở rộng như vậy. Thậm chí không chắc trường hợp sử dụng sẽ là gì nhưng đó là một lĩnh vực khác bạn có thể nên kiểm tra.
Trong Debian, các phần mở rộng PHP được tải thông qua các tệp trong /etc/php5/conf.d
Có hai loại gói PHP Debian có thể được cài đặt tại đây:
Để liệt kê cả hai trên hệ thống của bạn, bạn có thể sử dụng lệnh này: dpkg -l | grep 'ii php5 \? -' liệt kê các gói đã cài đặt bắt đầu bằng php- hoặc php5-.
Bạn cũng có thể có các tiện ích mở rộng được xây dựng bằng PECL từ mã nguồn. Liệt kê những người có: danh sách pecl
Cuối cùng, có thể biên dịch các tiện ích mở rộng của riêng bạn theo cách cũ. Trong trường hợp đó, họ có thể không có tệp trong /etc/php5/conf.d nhưng có thể được thêm vào chính php.ini.
Tất cả các phần mở rộng thường có một phần đầu ra từ phpinfo (); . php -m sẽ hiển thị danh sách các phần mở rộng mà PHP đã tải (mỗi phần mở rộng nên có một vị trí trong đầu ra phpinfo). Sẽ có nhiều phần mở rộng được liệt kê trong đầu ra php -m hơn được cài đặt dưới dạng các gói bổ trợ trong Debian, bởi vì có rất nhiều phần mở rộng mặc định được tích hợp vào PHP cũng như các phần mở rộng bạn có thể cài đặt sau đó.
Dưới đây là ví dụ đầu ra từ một máy phát triển liệt kê các phần mở rộng PHP được cài đặt thêm:
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