我正在尝试在Windows Server 2008上将PEAR安装到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文件。
答案 0 :(得分:1)
错误消息告诉您内存限制为262144字节,这意味着256kiB。
运行$ php --ini
以找出真正使用的ini文件。然后运行$ php -i | findstr memory
并查看实际配置的内容。
答案 1 :(得分:1)
我试图通过谷歌搜索解决错误,但我得到的只是人 说增加PHP内存限制。这不是问题。
事实上, 允许内存大小耗尽262144字节报告的问题。
我有两个php.ini文件,一个在Apache中,一个在PHP中。我不知道为什么会有两个
因为您不必在Web应用程序和命令行应用程序中使用相同的PHP设置。 (PEAR属于后者,BTW。)你可以找到与-i
参数一起使用的php.ini:
php -i | more
配置文件(php.ini)Path => C:\ Windows
已加载 配置文件=> D:\ DOS \ PHP \ php.ini
扫描此目录 其他.ini文件=> (无)
已解析的附加.ini文件=> (无)
但无论我将memory_limit都设置为4096MB,我仍然会收到错误。
memory_limit
directive接受整数(表示字节)或shorthand notation,您可以在其中指定其他单位。允许的后缀包括:
K
(对于Kilobytes)M
(对于兆字节)G
(对于Gigabytes 因此4096MB
不是有效设置。 (在任何情况下,4 GB都是巨大的数量;您最多可能需要几百MB。)
答案 2 :(得分:0)
我修好了。
似乎必须以字节为单位说明内存限制。
所以我刚做了memory_limit = 2147483648
感谢您的意见。