¿Cómo deshabilitar algunas extensiones en php 5.6?

¿Cómo deshabilitar algunas extensiones en php 5.6?

He instalado php 5.6 en el servidor centos 6.7 usando

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

Tengo habilitadas las siguientes extensiones de php:

<?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

Para ahorrar el uso de memoria de PHP, desactivé muchas extensiones de PHP en la carpeta /etc/php.d.

Me gustaría desactivar algunos más como:

libxml, ereg, mhash, reflexión, SPL, etc.

Sin embargo, estos archivos de extensión no están en la carpeta /etc/php.d.

Entonces, sugiérame cómo deshabilitar extensiones como libxml, ereg, mhash, Reflection, SPL, etc.

Además, sugiera si es seguro desactivarlos.

Por favor responda si desea conocer más detalles.

Gracias.

Respuesta1

Todos estos están compilados en PHP. Por lo tanto, no puede desactivarlos sin volver a compilar los paquetes.

¿Pero tu memoria es tan importante? No creo que cambie muchas cosas desactivar eso. Si vuelve a compilar los paquetes, ¿podría darnos la diferencia de memoria utilizada con/sin?

¡Gracias!

Respuesta2

Se ha realizado un trabajo importante (desde 5.3) para crear la mayoría de las extensiones como compartidas, por lo que se pueden deshabilitar. Y realmente creo que no se puede desactivar más.

Ex:

  • SPL no se puede desactivar y siempre lo necesitarás (al menos para el cargador automático)
  • la sesión es obviamente obligatoria
  • mhash es una extensión falsa proporcionada por hash que se utiliza por sesión, por lo que también es obligatoria
  • etc.

Más explicaciones en el archivo de especificaciones PHP de Fedora:http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860

Respuesta3

Desde la interfaz de línea de comandos, puede especificar -ndesactivar la carga de todas las extensiones (pero no algunas), por ejemplo

php -n -r "phpinfo();"

información relacionada