Como desativar algumas extensões no PHP 5.6?

1

Instalei o php 5.6 no servidor centos 6.7 usando

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

Eu tenho as seguintes extensões do php ativadas:

<?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 salvar o uso da memória do php, desabilitei muitas extensões php na pasta /etc/php.d.

Gostaria de desativar mais alguns como:

libxml, ereg, mhash, reflexão, SPL, etc.

No entanto, esses arquivos de extensão não estão na pasta /etc/php.d.

Então, por favor me sugira como desabilitar extensões como libxml, ereg, mhash, reflexão, SPL, etc.

Além disso, por favor, sugira se é seguro desativá-los.

Por favor, responda se você gostaria de saber mais detalhes.

Obrigado.

    
por Arnold 13.10.2015 / 08:09

3 respostas

2

Todos estes são compilados em PHP. Então você não pode desativá-los sem recompilar os pacotes.

Mas sua memória é tão importante? Eu não acho que isso vai mudar muita coisa para desabilitar isso. Se você recompilar os pacotes, você poderia nos dar a diferença de memória usada com / sem?

Obrigado!

    
por 13.10.2015 / 08:31
2

Importante trabalho deve ser feito (desde 5.3) para construir a maioria das extensões como compartilhadas, portanto, pode ser desativado. E eu realmente acho que você não pode desabilitar mais.

Ex:

  • O SPL não pode ser desativado e você sempre precisa dele (pelo menos para o autoloader)
  • a sessão é obviamente obrigatória
  • mhash é um ext extinto fornecido pelo hash que é usado pela sessão, portanto, também obrigatório
  • etc

Mais explicações no arquivo de especificações do PHP do Fedora: link

    
por 15.10.2015 / 09:54
0

Na interface da linha de comando, você pode especificar -n para desativar o carregamento de todas as extensões (mas não algumas), por exemplo,

php -n -r "phpinfo();"
    
por 24.03.2016 / 11:53

Tags