Eu 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 php habilitadas:
<?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 economizar o uso de memória php, desativei muitas extensões php na pasta /etc/php.d.
Eu gostaria de desabilitar 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, sugira-me como desabilitar extensões como libxml, ereg, mhash, Reflection, SPL etc.
Além disso, sugira se é seguro desativá-los.
Por favor, responda se quiser saber mais detalhes.
Obrigado.
Responder1
Todos estes são compilados em PHP. Portanto, você não pode desativá-los sem recompilar os pacotes.
Mas sua memória é tão importante? Não acho que mudará muita coisa desabilitar isso. Se você recompilar os pacotes, poderia nos dar a diferença de memória usada com/sem?
Obrigado!
Responder2
Um trabalho importante foi feito (desde 5.3) para construir a maioria das extensões como compartilhadas, portanto podem ser desativadas. E eu realmente acho que você não pode desabilitar mais.
Ex:
- O SPL não pode ser desativado e você sempre precisará dele (pelo menos para o autoloader)
- sessão é obviamente obrigatória
- mhash é um ramal falso fornecido por hash que é usado por sessão, portanto também obrigatório
- etc.
Mais explicações no arquivo de especificação PHP do Fedora:http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860
Responder3
Na interface da linha de comando, você pode especificar -n
a desativação do carregamento de todas as extensões (mas não de algumas), por exemplo
php -n -r "phpinfo();"