如何禁用PHP 5.6中的一些扩展?

我已经在Centos 6.7服务器上安装了php 5.6

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内存的使用,我在/etc/php.d文件夹中禁用了许多php扩展。

我想禁用更多像:

libxml,ereg,mhash,Reflection,SPL等

但是,这些扩展文件不在/etc/php.d文件夹中。

所以,请build议我如何禁用libxml,ereg,mhash,Reflection,SPL等扩展。

另外,请build议禁用它们是否安全。

请回复,如果你想知道更多的细节。

谢谢。

所有这些都是用PHP编译的。 所以你不能禁用它们而不重新编译软件包。

但是你的记忆如此重要? 我不认为这会改变很多东西来禁用。 如果你重新编译软件包,你可以给我们不同的内存使用吗?

谢谢!

重要的工作已经完成(从5.3开始)将大多数扩展构build为共享,因此可以被禁用。 我真的认为你不能停用更多。

例如:

  • SPL不能被禁用,你总是需要它(至less对于自动加载器)
  • 会议显然是强制性的
  • mhash是由会话使用的散列提供的假分机,所以也是强制性的
  • 等等

Fedora PHP规范文件中的更多解释: http : //pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860

从命令行界面,你可以指定-n禁止加载所有的扩展(但不是一些),例如

 php -n -r "phpinfo();"