我有下面的代碼行,在函數的開始:PHP內存不足,但爲什麼?
$src_img=imagecreatefromjpeg($name);
的$name
包含完整的服務器路徑包含圖像,這是一個4.4MB JPG非公開訪問的文件夾中。
正常情況下,當這個問題發生時,PHP需要比分配給打開壓縮映像更多的內存,並且發出一個ini_set
命令將成員提升到128MB解決了問題。但是,在這種情況下,它不會。我試圖提高至256,512和1024MB,仍然是一個錯誤回來:
Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 17152 bytes) in /imgprocess.php on line 83.
我使用(!違禁品)-1,以允許無限制的內存甚至試過,只是爲了看看是否有正在導致它天高,但仍然沒有去。
我試過不同的圖像文件,因爲它是一個壞的JPG,仍然沒有去。
這怎麼解決?
編輯:我要補充一點,PHP是不是在安全模式下
出於興趣,圖像的大小(圖像*尺寸*,與未壓縮的內存中的大小相比,大小與損失壓縮的JPEG大小有很大關係)。 – 2012-03-10 16:31:26
@Matt:它的4288x2848在72dpi - Photoshop將其報告爲34.9MB – TIW 2012-03-10 16:32:58
'允許的內存大小爲262144字節'在那裏出了問題。如何以及在哪裏設置內存限制? – 2012-03-10 16:37:41