brandembassy/php-memory

一个简单的工具,提供易于使用的API,用于从php.ini获取内存配置。

1.2.1 2021-03-31 16:20 UTC

This package is not auto-updated.

Last update: 2024-09-12 10:24:23 UTC


README

一个简单的工具,提供易于使用的API,将php.ini中的内存限制配置转换为字节数。

为什么

php.ini中的核心指令memory_limit是一个简单的字符串。管理员或程序员可以设置多个有效值,例如:

  • 500 = 500字节
  • 128M = 134,217,728字节
  • 1G = 1,073,741,824字节

您可以通过ini_get('memory_limit')函数获取原始字符串值。然而,没有内置的PHP函数可以提供对字节值的简单访问。

安装

将包添加到您的composer.json

composer require brandembassy/php-memory

使用

创建MemoryLimitProvider服务(或者更好地,通过您的DI容器注入它)

$configuration = new \BrandEmbassy\Memory\MemoryConfiguration();
$limitProvider = new \BrandEmbassy\Memory\MemoryLimitProvider($configuration);

还有Nette框架的DI扩展(您必须安装nette/di包)。只需在您的services.neon文件中注册它

extensions:
    - BrandEmbassy\Memory\Bridge\MemoryLimitNetteExtension

然后您可以通过这种方式访问PHP内存限制的字节数值

$limitInBytes = $memoryLimitProvider->getLimitInBytes();

有任何问题或改进的想法?请随时提出问题或发送PR!