So erfahren Sie, welche PHP-Erweiterungen installiert sind

So erfahren Sie, welche PHP-Erweiterungen installiert sind

Ich muss auf einem LAMP-Server genau dieselben PHP-Erweiterungen installieren, die auf einem alten Server installiert sind. Wie weiß ich genau, welche Erweiterungen installiert sind, um dieselben auf dem neuen Server zu installieren?

Antwort1

Sie können den Befehlszeilenschalter verwenden, -mum phpzu sehen, welche Module installiert sind.

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

Sie können auch eine Ausgabe über die Befehlszeile php -ierhalten phpinfo();, die diese Informationen ebenfalls enthalten würde.

Verweise

Antwort2

Wenn die Erweiterung tatsächlich verwendet wird, muss php.iniirgendwo darauf verwiesen werden. Erweiterungen werden auf ziemlich intuitive Weise geladen:

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

usw., usw.

Eine Sache, auf die man achten muss, sind Erweiterungen, die durch das iniEinbinden einer zusätzlichen Datei entstehen. Bei Debian bin ich mir nicht sicher, aber bei RHEL gibt es ein /etc/php.d/Verzeichnis, in dem alle .iniDateien so behandelt werden, als wären sie im Hauptverzeichnis/etc/php.ini

Wenn es sich nicht an einem dieser beiden Orte befindet (Hauptdatei php.inioder eine der enthaltenen Dateien), befindet sich die Erweiterung mehr oder weniger einfach ungenutzt im Dateisystem.

BEARBEITEN:

Eigentlich glaube ich, dass ich gelogen habe. Vielleicht müssen SieSuchen Sie in Ihren PHP-Dateien nach Aufrufen von dl(). Ich kenne allerdings nicht viele Leute, die Erweiterungen auf diese Weise laden. Ich bin mir nicht einmal sicher, was der Anwendungsfall wäre, aber das ist ein weiterer Bereich, den Sie wahrscheinlich überprüfen sollten.

Antwort3

In Debian werden PHP-Erweiterungen über Dateien in/etc/php5/conf.d

Es gibt zwei Arten von PHP-Debian-Paketen, die hier installiert werden können:

  • Debian-PHP-Pakete (deren Namen mit php5- beginnen)
  • PECL PHP-Pakete (deren Namen mit php- beginnen)

Um beides auf Ihrem System aufzulisten, können Sie diesen Befehl verwenden: dpkg -l | grep 'ii php5\?-' Hier werden installierte Pakete aufgelistet, die entweder mit php- oder php5- beginnen.

Möglicherweise verfügen Sie auch über Erweiterungen, die mit PECL aus dem Quellcode erstellt wurden. Listen Sie diese auf mit: pecl-Liste

Schließlich ist es möglich, eigene Erweiterungen auf herkömmliche Weise zu kompilieren. In diesem Fall haben sie möglicherweise keine Datei in/etc/php5/conf.dkann aber zu php.ini selbst hinzugefügt werden.

Alle Erweiterungen haben normalerweise einen Ausgabeabschnitt vonphpinfo();. php -mzeigt die Liste der von PHP geladenen Erweiterungen an (jede davon sollte einen Platz in der phpinfo-Ausgabe haben). Es werden viele weitere Erweiterungen aufgelistet inphp -mAusgaben, die als Zusatzpakete in Debian installiert sind, da viele Standarderweiterungen in PHP integriert sind und es auch solche gibt, die Sie nachträglich installieren können.

Hier ist eine Beispielausgabe einer Entwicklungsmaschine, die zusätzlich installierte PHP-Erweiterungen auflistet:

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

verwandte Informationen