cara mengetahui ekstensi php mana yang diinstal

13

Saya perlu menginstal pada server lampu persis ekstensi php yang sama yang diinstal pada server lama, bagaimana cara mengetahui persis ekstensi mana yang dipasang untuk menginstal yang sama di server baru?

Tuyoshi Vinicius
sumber

Jawaban:

18

Anda dapat menggunakan saklar baris perintah -muntuk phpmelihat apa modul yang diinstal.

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

Anda juga dapat menggunakan php -iuntuk mendapatkan phpinfo();output melalui baris perintah yang akan menyertakan info ini juga.

Referensi

slm
sumber
5
Perlu dicatat, ini mungkin bukan set modul yang sama yang disertakan oleh PHP yang berjalan di Apache.
Rich Remer
2

Jika ekstensi benar-benar digunakan, ekstensi itu perlu direferensikan di php.inisuatu tempat. Ekstensi dimuat dengan cara yang sangat intuitif:

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

dll, dll.

Satu hal yang harus diperhatikan adalah ekstensi yang dimasukkan oleh inifile tambahan yang disertakan. Saya tidak yakin tentang Debian, tetapi di RHEL ada /etc/php.d/direktori tempat semua .inifile diperlakukan seolah-olah mereka berada di utama/etc/php.ini

Jika tidak ada di salah satu dari dua tempat (utama php.iniatau salah satu file yang disertakan) maka ekstensi kurang lebih hanya duduk di sistem file yang tidak digunakan.

EDIT:

Sebenarnya, saya pikir saya berbohong. Anda mungkin harus melihat file php Anda untuk panggilan ke dl () . Saya tidak tahu banyak orang yang memuat ekstensi seperti itu. Bahkan tidak yakin apa gunanya tapi itu daerah lain yang mungkin harus Anda periksa.

Bratchley
sumber
Sudah lama sejak saya membuat PHP, tapi saya pikir Anda juga dapat memilih untuk memiliki ekstensi dikompilasi secara statis, di mana tidak satu pun dari opsi ini akan membantu.
Jules
2

Dalam Debian, ekstensi PHP dimuat melalui file di /etc/php5/conf.d

Ada dua jenis paket PHP Debian yang mungkin diinstal di sini:

  • Paket PHP Debian (yang memiliki nama dimulai dengan php5-)
  • Paket PHP PECL (yang memiliki nama dimulai dengan php-)

Untuk membuat daftar keduanya di sistem Anda, Anda dapat menggunakan perintah ini: dpkg -l | grep 'ii php5 \? -' yang mencantumkan paket yang diinstal dimulai dengan php- atau php5-.

Anda juga mungkin memiliki ekstensi yang dibuat dengan PECL dari kode sumber. Buat daftar dengan: pecl list

Akhirnya, Anda bisa mengkompilasi ekstensi Anda sendiri dengan cara lama. Dalam hal ini mereka mungkin tidak memiliki file di /etc/php5/conf.d tetapi mungkin ditambahkan ke php.ini itu sendiri.

Semua ekstensi biasanya memiliki bagian output dari phpinfo (); . php -m akan menampilkan daftar ekstensi apa yang telah dimuat PHP (masing-masing harus memiliki tempat di output phpinfo). Akan ada lebih banyak ekstensi terdaftar di output php -m daripada diinstal sebagai paket add-on di Debian, karena ada banyak ekstensi default yang dibangun ke dalam PHP serta yang dapat Anda instal setelahnya.

Berikut adalah contoh output dari mesin pengembangan yang mencantumkan ekstensi PHP tambahan yang diinstal:

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
Profesor Falken
sumber