hangi php uzantılarının kurulu olduğunu nasıl öğrenebilirim


13

Bir lamba sunucusuna eski bir sunucuda yüklü olan aynı php uzantılarını yüklemem gerekiyor, yeni sunucuya aynı kurulumu yapmak için tam olarak hangi uzantıların yüklendiğini nasıl bilebilirim?

Yanıtlar:


18

Hangi modüllerin kurulu olduğunu görmek için komut satırı anahtarını -mkullanabilirsiniz php.

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

Bu bilgiyi de içeren komut satırı üzerinden çıktı php -ialmak için de kullanabilirsiniz phpinfo();.

Referanslar


5
Unutulmamalıdır ki, bu Apache'de çalışan PHP'nin içerdiği modüllerle aynı olmayabilir.
Rich Remer

2

Uzantı gerçekten kullanılıyorsa, bir php.iniyerde referans gösterilmesi gerekir . Uzantılar oldukça sezgisel bir şekilde yüklenir:

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

vs vs.

Dikkat edilmesi gereken bir şey, inidahil edilen ek bir dosya tarafından getirilen uzantılardır . Debian hakkında emin değilim, ancak RHEL'de /etc/php.d/tüm .inidosyaların ana dosyadaymış gibi işlendiği bir dizin var/etc/php.ini

Bu iki yerden (ana php.iniveya dahil edilen dosyalardan biri ) birinde değilse , uzantı az çok kullanılmayan dosya sisteminde oturuyor demektir.

DÜZENLE:

Aslında yalan söylediğimi düşünüyorum. Dl () çağrıları için php dosyalarınıza bakmanız gerekebilir . Yine de böyle uzantıları yükleyen birçok insan bilmiyorum. Kullanım durumunun ne olacağından bile emin değilim ama muhtemelen kontrol etmeniz gereken başka bir alan.


PHP'yi inşa ettiğimden beri bir süredir, ancak bence bu seçeneklerin hiçbirinin yardımcı olmayacağı statik olarak derlenmiş uzantıları da seçebilirsiniz.
Jules

2

Debian'da PHP uzantıları /etc/php5/conf.d içindeki dosyalar aracılığıyla yüklenir.

Buraya yüklenebilecek iki tür PHP Debian paketi vardır:

  • Debian PHP paketleri (php5- ile başlayan isimleri vardır)
  • PECL PHP paketleri (php- ile başlayan isimleri vardır)

Sisteminizde her ikisini de listelemek için şu komutu kullanabilirsiniz: dpkg -l | phrep- veya php5- ile başlayan kurulu paketleri listeleyen grep 'ii php5 \? -' .

Ayrıca kaynak kodundan PECL ile oluşturulmuş uzantılarınız da olabilir. Listelenenler : pecl list

Son olarak, kendi uzantılarınızı eski moda bir şekilde derlemek mümkündür. Bu durumda, /etc/php5/conf.d dosyasında olmayabilirler, ancak php.ini dosyasına eklenebilirler.

Tüm uzantıların genellikle phpinfo () ' dan bir çıktı bölümü vardır ; . php -m PHP'nin yüklediği uzantıların listesini gösterir (her birinin phpinfo çıktısında bir yeri olmalıdır). Php -m çıktısında, Debian'da eklenti paketleri olarak yüklendiğinden çok daha fazla uzantı olacak , çünkü PHP'ye yerleşik varsayılan uzantıların yanı sıra daha sonra yükleyebilecekleriniz de var.

Ekstra yüklenmiş PHP uzantılarını listeleyen bir geliştirme makinesinden örnek çıktı:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.