web-dev-qa-db-ja.com

php 5.6でいくつかの拡張機能を無効にする方法は?

使用してcentos6.7サーバーにphp5.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フォルダーにありません。

だから、libxml、ereg、mhash、Reflection、SPLなどの拡張機能を無効にする方法を教えてください。

また、それらを無効にしても安全かどうかを提案してください。

詳細を知りたい場合は返信してください。

ありがとう。

1
Arnold

ほとんどの拡張機能を共有として構築するために重要な作業が行われているため(5.3以降)、無効にすることができます。そして、私は本当にあなたがこれ以上無効にすることはできないと思います。

例:

  • SPLを無効にすることはできず、常に必要です(少なくともオートローダーの場合)
  • セッションは明らかに必須です
  • mhashは、セッションで使用されるハッシュによって提供される偽のextであるため、必須です。

Fedoraでの詳細な説明PHPスペックファイル: http://pkgs.fedoraproject.org/cgit/php.git/tree/php.spec?id=98ce5ad0385bfb5679a731a1df48b82b22718bc6#n86

2
Remi Collet

これらはすべてPHPでコンパイルされています。したがって、パッケージを再コンパイルせずにそれらを無効にすることはできません。

しかし、あなたの記憶はとても重要ですか?それを無効にすることで多くのことが変わるとは思いません。パッケージを再コンパイルする場合、使用するメモリと使用しないメモリの違いを教えてください。

ありがとう!

2
Dom

コマンドラインインターフェイスから、-nを指定して、すべての拡張機能(一部ではない)の読み込みを無効にすることができます。

php -n -r "phpinfo();"
0
kenorb