如何停用 php 5.6 中的某些擴充?

如何停用 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、反射、SPL 等。

但是,這些擴充功能不在 /etc/php.d 資料夾中。

所以,請建議我如何停用 libxml、ereg、mhash、Reflection、SPL 等擴充功能。

另外,請建議停用它們是否安全。

如果您想了解更多詳情,請回覆。

謝謝。

答案1

所有這些都是用 PHP 編譯的。因此,如果不重新編譯軟體包,就無法停用它們。

但你的記憶力就那麼重要嗎?我認為禁用它不會改變很多事情。如果您重新編譯軟體包,您能給我們使用/不使用記憶體的差異嗎?

謝謝!

答案2

重要的工作已經完成(自 5.3 起),將大多數擴充功能建置為共享的,因此可以停用。我真的認為你不能禁用更多。

前任:

  • SPL 無法停用,但您始終需要它(至少對於自動載入器而言)
  • 會話顯然是強制性的
  • mhash 是由 hash 提供的假分機,供會話使用,因此也是強制的
  • ETC

Fedora PHP 規格文件中的更多說明:http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n860

答案3

從命令列介面,您可以指定-n禁用加載所有擴充功能(但不是某些),例如

php -n -r "phpinfo();"

相關內容