企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
此扩展的目的是检测占用大量内存的脚本和函数(此扩展是*实验性*的 此项目貌似也不再维护了) memtrack跟踪PHP脚本中的内存消耗,并在消耗达到用户设置的特定级别时生成报告(警告)。这是通过用一个特殊的函数替换默认执行程序函数来实现的,该函数在运行原始执行程序之前和之后比较内存使用情况-通过这种方式,我们可以知道在当前代码执行过程中内存使用情况发生了多少变化 Zend Engine为每个操作码数组(op\_array)运行其执行程序,这通常意味着函数,纯脚本等,因此memtrack对性能没有任何明显的影响 memtrack不提供任何函数,只有INI指令可让您配置其工作方式 [https://pecl.php.net/package/memtrack](https://pecl.php.net/package/memtrack) ## 运行时配置 **Memtrack配置选项** | 名称 | 默认 | 可修改范围 | 描述| | --- | --- | --- |--- | | [memtrack.enabled](https://www.php.net/manual/en/memtrack.ini.php#ini.memtrack.enabled) | “ 0” | PHP\_INI\_SYSTEM |禁用或启用扩展。默认值为0,即禁用。| | memtrack.soft\_limit | “ 0” | PHP\_INI\_ALL | 软内存限制。该扩展在执行op\_array之前和之后检查内存消耗,并产生警告:两个值之间的差等于或大于软限制,但前提是不忽略该函数。将此选项设置为0也会同时禁用软限制警告和硬限制警告。默认值为0,即不产生警告 | | memtrack.hard\_limit | “ 0” | PHP\_INI\_ALL |硬内存限制。该扩展在执行op\_array之前和之后检查内存消耗,并发出警告,即两个值之间的差等于或大于硬限制,*即使忽略该函数也是如此*。将此选项设置为0将完全禁用硬限制警告。默认值为0,即不产生硬极限警告。| | memtrack.vm\_limit | “ 0” | PHP\_INI\_ALL |虚拟内存限制(在进程上设置)。仅在关机时检查此限制,如果该值大于或等于该限制,则会发出警告。当前仅在具有mallinfo()函数的操作系统(即Linux)上支持此选项| | memtrack.ignore\_functions | "" |PHP\_INI\_SYSTEM|用逗号或空格分隔的函数列表,soft\_limit将忽略它们。该值不区分大小写,对于类方法,请使用class :: method语法|