1

我正在尝试将 PEAR 安装到 Windows Server 2008 上的 WAMP 中。

当我做:

V:\wamp\bin\php\php5.4.12>php go-pear.phar

我得到:

PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to alloca
te 91 bytes) in Unknown on line 0

Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 91
 bytes) in Unknown on line 0

我试图通过谷歌搜索来解决这个错误,但我得到的只是人们说要增加 PHP 内存限制。这不是问题。

我有两个 php.ini 文件,一个在 Apache 中,一个在 PHP 中。我不知道为什么有两个,但无论我都将 memory_limit 设置为 4096MB,我仍然得到错误。

如何解决这个问题,以便我可以安装 PEAR?


Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         V:\wamp\bin\php\php5.4.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

所以它绝对是正确的 INI 文件。

4

3 回答 3

1

错误信息告诉你内存限制是 262144 字节,也就是 256kiB。

运行$ php --ini以找出真正使用了哪个 ini 文件。然后运行$ php -i | findstr memory并查看真正配置的内容。

于 2013-08-22T06:56:09.987 回答
1

我试图通过谷歌搜索来解决这个错误,但我得到的只是人们说要增加 PHP 内存限制。这不是问题。

实际上,这就是Allowed memory size of 262144 bytes exhausted报告的问题。

我有两个 php.ini 文件,一个在 Apache 中,一个在 PHP 中。不知道为什么有两个

因为您不必在 Web 应用程序和命令行应用程序中使用相同的 PHP 设置。(PEAR 属于后者,顺便说一句。)您可以通过-i参数找到正在使用的 php.ini:

php -i | more

配置文件 (php.ini) 路径 => C:\Windows
加载的配置文件 => D:\DOS\PHP\php.ini
扫描此目录以获取其他 .ini 文件 => (无)
解析的其他 .ini 文件 => (没有任何)

但无论我是否将 memory_limit 都设置为 4096MB,我仍然会收到错误消息。

memory_limit指令接受整数(表示字节)或速记符号,您可以在其中指定其他单位。允许的后缀包括:

  • K(千字节)
  • M(兆字节)
  • G(对于千兆字节

因此4096MB不是一个有效的设置。(无论如何,4 GB 是一个巨大的数量;您可能最多需要几百 MB。)

于 2013-08-22T07:30:30.340 回答
0

我修好了它。

似乎必须以字节为单位说明内存限制。

所以我只是做了 memory_limit = 2147483648

感谢您的输入。

于 2013-08-22T07:14:29.577 回答