0

短編小説:

多数のCLIスクリプトにphpを使用しています。

cliプロセスのpmapダンプを実行すると、phpCLIが特定の「Webモードでのみ使用される」拡張機能をロードしていることに気付きました。

例えば:

[root@XXXX php.d]# pmap 5956 | grep apc
00007fe5d0356000    132K r-x--  /usr/lib/XXXX/apc.so
00007fe5d0377000   2048K -----  /usr/lib/XXXX/apc.so
00007fe5d0577000     12K rw---  /usr/lib/XXXX/apc.so
[root@XXXX php.d]#

ご覧のとおり、pid5956はCLIベースのphpプロセスでさえapc.soをロードしています。

CLI側でAPCが使用されることはないため、これはメモリの浪費です(特に指示がない限り、適用されません)。

「Webモード」にのみ使用する拡張機能は他にもいくつかあります。

先に進んで作成し、2つの別々のphp.iniファイルを維持する必要がある前に、私たちは疑問に思っていました。

非CLIモードでのみ特定のモジュールをロードするようにphp/php.iniに指示する方法はありますか?

ありがとう。


以下のコメントのためにダンプしてください:

[root@XXXX mod_geoip_1.3.5]# pmap 13330 -x | grep apc ; pmap 18151 -x | grep apc
00007f1a883c9000     132      56       0 r-x--  apc.so
00007f1a883ea000    2048       0       0 -----  apc.so
00007f1a885ea000      12      12      12 rw---  apc.so
00007f7404573000     132      56       0 r-x--  apc.so
00007f7404594000    2048       0       0 -----  apc.so
00007f7404794000      12      12      12 rw---  apc.so
[root@XXXX mod_geoip_1.3.5]# man pmap

2つのプロセス、つまりcronジョブとCLIベースのphpプロセスの両方をダンプします。

メモリアドレスが異なる場合、それらが使用するスペースは共有されていないと思いますか?

4

1 に答える 1

0

実行しますman php

読み取り

php-cli.ini不要なものを除外するものを作成します。

于 2012-06-06T04:26:08.347 に答える