PHP Built-in Webserver 有内存限制吗?
Does the PHP Built-in Webserver have a memory limit?
我使用 "PHP Built-in Web Server" 配置在 PhpStorm 中本地托管 PHP 脚本。一个脚本需要很多内存,所以我在它的开头添加了ini_set('memory_limit', 8589934592); # 8GiB
(设置它有效,我用ini_get('memory_limit')
检查了它)。
但是当我请求引用 url 时,脚本执行失败并在错误日志中显示以下错误消息:
PHP Fatal error: Out of memory (allocated 1793064960) (tried to allocate 8334 bytes) in ...
它只能分配大约 1.7GiB。
有谁知道,为什么会这样?我认为 PHP 内置网络服务器有内存限制,但我找不到任何相关信息。
PS:我正在使用 PHP v5.6、Windows 8 和 PhpStorm 10.0.3
编辑:
我的电脑有大约 10Gib 可用内存
您 运行 32 位网络服务器吗?如果是这样,它可能只允许使用最大值。 2GB:
How much memory can a 32 bit process access on a 64 bit operating system?
我想你可以用 PHP_INT_SIZE 常量来检查:
Checking if your code is running on 64-bit PHP
我使用 "PHP Built-in Web Server" 配置在 PhpStorm 中本地托管 PHP 脚本。一个脚本需要很多内存,所以我在它的开头添加了ini_set('memory_limit', 8589934592); # 8GiB
(设置它有效,我用ini_get('memory_limit')
检查了它)。
但是当我请求引用 url 时,脚本执行失败并在错误日志中显示以下错误消息:
PHP Fatal error: Out of memory (allocated 1793064960) (tried to allocate 8334 bytes) in ...
它只能分配大约 1.7GiB。
有谁知道,为什么会这样?我认为 PHP 内置网络服务器有内存限制,但我找不到任何相关信息。
PS:我正在使用 PHP v5.6、Windows 8 和 PhpStorm 10.0.3
编辑: 我的电脑有大约 10Gib 可用内存
您 运行 32 位网络服务器吗?如果是这样,它可能只允许使用最大值。 2GB: How much memory can a 32 bit process access on a 64 bit operating system?
我想你可以用 PHP_INT_SIZE 常量来检查: Checking if your code is running on 64-bit PHP