2013-08-22 99 views
0

我試圖在Windows Server PEAR安裝到WAMP 2008PEAR安裝了內存

當我這樣做:

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文件,一個在PHP中的Apache。我不知道爲什麼有兩個,但無論我已經將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文件。

回答

1

錯誤消息告訴您內存限制爲262144字節,這意味着256kiB。

運行$ php --ini找出哪個INI文件被真正使用。然後運行$ php -i | findstr memory並查看真正配置的內容。

+0

它只是將負載有關信息,我如何分頁? – imperium2335

+0

在Windows上,只需用'findstr'替換'grep'即可。 –

0

我固定它。

看來必須註明以字節爲單位的內存限制。

所以我只是沒memory_limit的= 2147483648

感謝您的輸入。

+2

這是[not true](http://php.net/memory-limit)。但'MB'不是[有效後綴](http://es1.php.net/manual/en/faq.using.php#faq.using.shorthandbytes)。也許你的意思是'M'。 –

+0

@ÁlvaroG. Vicario這兩個文件已經是M了。 – imperium2335

+2

我必須堅持:你不需要輸入字節。它被記錄下來並且我已經使用了很多年了。也許32位PHP根本無法分配多達4GB。 –

1

我試圖通過谷歌搜索來解決錯誤,但我得到的是人 說增加PHP內存限制。這不是問題。

事實上,這的問題,即262144個字節允許的內存大小耗盡報告。

我有兩個php.ini文件,一個在PHP中的Apache。我不知道爲什麼有兩個

因爲你不是被迫在web應用程序和命令行應用程序中具有相同的PHP設置。 (PEAR屬於後者,順便說一句。)您可以在使用的php.ini與-i參數:

php -i | more 

配置文件(php.ini中)路徑=> C:\ WINDOWS
加載 配置文件=>d:\ DOS \ PHP \ php.ini中
掃描此目錄爲 額外的.ini文件=>(無)
附加。解析=> (無)INI文件

,但無論我在這兩個memory_limit的設置爲4096MB,而我仍然得到錯誤。

memory_limit directive接受一個整數(表示字節)或一個shorthand notation,您可以在其中指定其他單位。允許的後綴包括:

  • K(爲千字節)
  • M(兆字節)
  • G(千兆字節

因此4096MB不是有效的設置(在任何情況下,4。 GB是一個巨大的數量;您最多可能需要幾百MB。)

+0

對不起,MB在我的文章中是一個錯字。 – imperium2335