Wie deaktiviere ich einige Erweiterungen in PHP 5.6?

Wie deaktiviere ich einige Erweiterungen in PHP 5.6?

Ich habe PHP 5.6 auf dem CentOS 6.7-Server installiert mit

yum --enablerepo=remi,remi-php56 install -y php-mysqlnd php-gd php-mbstring php-mcrypt php-xml php-fpm

Ich habe die folgenden PHP-Erweiterungen aktiviert:

<?php
print_r(get_loaded_extensions());
?>

[0] => Core
[1] => date
[2] => ereg
[3] => libxml
[4] => openssl
[5] => pcre
[6] => zlib
[7] => filter
[8] => hash
[9] => Reflection
[10] => SPL
[11] => session
[12] => standard
[13] => cgi-fcgi
[14] => ctype
[15] => curl
[16] => ftp
[17] => gd
[18] => mbstring
[19] => mcrypt
[20] => mysqlnd
[21] => PDO
[22] => SimpleXML
[23] => mysql
[24] => pdo_mysql
[25] => json
[26] => mhash

Um den PHP-Speicherverbrauch zu reduzieren, habe ich viele PHP-Erweiterungen im Ordner /etc/php.d deaktiviert.

Ich möchte noch einige weitere deaktivieren, wie:

libxml, ereg, mhash, Reflection, SPL usw.

Diese Erweiterungsdateien befinden sich jedoch nicht im Ordner /etc/php.d.

Schlagen Sie mir also bitte vor, wie ich Erweiterungen wie libxml, ereg, mhash, Reflection, SPL usw. deaktivieren kann.

Geben Sie bitte auch an, ob es sicher ist, sie zu deaktivieren.

Bitte antworten Sie, wenn Sie weitere Einzelheiten erfahren möchten.

Danke.

Antwort1

Alle diese sind in PHP kompiliert. Sie können sie also nicht deaktivieren, ohne die Pakete neu zu kompilieren.

Aber Ihr Speicher ist so wichtig? Ich glaube nicht, dass sich viel ändern wird, wenn Sie das deaktivieren. Wenn Sie die Pakete neu kompilieren, könnten Sie uns den Unterschied des verwendeten Speichers mit/ohne mitteilen?

Danke!

Antwort2

Es wurde (seit 5.3) viel Arbeit geleistet, um die meisten Erweiterungen als gemeinsam genutzte Erweiterungen zu erstellen, die deaktiviert werden können. Und ich glaube wirklich, dass man nicht mehr deaktivieren kann.

Ex:

  • SPL kann nicht deaktiviert werden und wird immer benötigt (zumindest für den Autoloader)
  • Sitzung ist offensichtlich obligatorisch
  • mhash ist eine gefälschte Erweiterung, die von Hash bereitgestellt wird und von der Sitzung verwendet wird, also ebenfalls obligatorisch
  • usw

Weitere Erläuterungen in der Fedora PHP-Spezifikationsdatei:http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860

Antwort3

Über die Befehlszeilenschnittstelle können Sie angeben, -ndass das Laden aller Erweiterungen (aber nicht einiger) deaktiviert werden soll, z. B.

php -n -r "phpinfo();"

verwandte Informationen