Я установил php 5.6 на сервер centos 6.7 с помощью
yum --enablerepo=remi,remi-php56 install -y php-mysqlnd php-gd php-mbstring php-mcrypt php-xml php-fpm
У меня включены следующие расширения 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
Чтобы сэкономить память PHP, я отключил многие расширения PHP в папке /etc/php.d.
Я хотел бы отключить еще несколько, например:
libxml, ereg, mhash, Reflection, SPL и т. д.
Однако эти файлы расширения отсутствуют в папке /etc/php.d.
Поэтому, пожалуйста, подскажите, как отключить такие расширения, как libxml, ereg, mhash, Reflection, SPL и т. д.
Также, пожалуйста, сообщите, безопасно ли их отключить.
Пожалуйста, ответьте, если вы хотите узнать более подробную информацию.
Спасибо.
решение1
Все они скомпилированы в PHP. Поэтому вы не сможете отключить их без перекомпиляции пакетов.
Но ваша память так важна? Я не думаю, что отключение этого что-то изменит. Если вы перекомпилируете пакеты, можете ли вы дать нам разницу в используемой памяти с/без?
Спасибо!
решение2
Проделана важная работа (начиная с версии 5.3) по созданию большинства расширений как общих, поэтому их можно отключить. И я действительно думаю, что вы не сможете отключить больше.
Бывший:
- SPL отключить нельзя, а он всегда нужен (по крайней мере для автозагрузчика)
- сессия, очевидно, обязательна
- mhash — это поддельное расширение, предоставляемое хешем, которое используется сессией, поэтому также обязательно
- и т. д.
Дополнительные пояснения в файле спецификации Fedora PHP:http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860
решение3
Из интерфейса командной строки вы можете -n
отключить загрузку всех расширений (но не некоторых), например:
php -n -r "phpinfo();"