加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP-CLI – 如何减少启动PHP进程所需的内存使用量

发布时间:2020-05-25 08:52:56 所属栏目:PHP 来源:互联网
导读:当 PHP进程启动时,它会加载扩展,各种配置指令并创建全局/ env变量等,这些(我假设)会占用内存. 我的目标是引导一个简单的PHP脚本,该脚本使用尽可能少的内存来执行特定任务. 一个示例CLI脚本,例如: printf(nHello World); 上面的代码不依赖于任何$_ENV变量或默

当 PHP进程启动时,它会加载扩展,各种配置指令并创建全局/ env变量等,这些(我假设)会占用内存.

我的目标是引导一个简单的PHP脚本,该脚本使用尽可能少的内存来执行特定任务.

一个示例CLI脚本,例如:

printf("nHello World");

上面的代码不依赖于任何$_ENV变量或默认打开的某些PHP流,如果它们不存在,将使PHP进程使用更少的内存.

为了运行上面列出的代码,你们会做些什么来减少内存使用量?

为了获得几个字节,您可以在干净的环境中运行PHP代码:
env -i php -r 'var_dump(memory_get_peak_usage()); var_dump($GLOBALS);'

env -i在干净的环境中启动脚本.您可以通过转储$GLOBALS来查看差异.函数memory_get_peak_usage()显示脚本的最大消耗内存.但是在我的系统上,我用这种方法只获得了几KB.这取决于您的环境变量.

要真正优化内存占用,您必须查看已使用的扩展.要获取扩展路径,只需执行如下脚本:

php -r 'var_dump(ini_get("extension_dir"));'

您可能会找到一些像这样的扩展:

curl.so
gd.so
json.so
[...]

这些是可以使用dl()动态加载的扩展.他们没有进入你的内存使用.但是,如果您希望查看系统加载的每个扩展,可以使用以下命令:

php -m

比较这些列表,您会注意到,还有更多可用的扩展.这些被编译成PHP.要减少内存占用,您必须从源代码编译PHP.

要优化PHP,您必须查看代码,以及您需要的扩展.为./configure获取正确的选项是一项耗时的任务.首先,请参阅http://www.php.net/manual/de/configure.about.php

通常,如果您需要特定的扩展,您可以转到PHP手册并查看扩展的安装部分,对于zlib,这将是例如http://php.net/manual/de/zlib.installation.php

对于您的具体示例,您应该尝试从源代码编译PHP而不使用选项,并测试它是否满足您的需求.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读