2013-11-24 132 views
0

我正在爲WP做一個插件,在那個插件裏有備份功能需要運行很長一段時間,這部分也需要大量的內存限制。將memory_limit設置爲2048M,但我一直得到256M的錯誤

因此,我已經在我的腳本中設置了ini_set('memory_limit', '2048M');,ini_set('max_execution_time', 10000);,並在WP配置文件中設置了define('WP_MEMORY_LIMIT', '2048M');

但是我不斷獲取: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 72 bytes)

它是一種可能性,即託管公司有一定的限制,雖然運行時間我不能改變?

謝謝先進。

+0

選擇是否有權改變這些值! – undone

+0

我如何檢查我是否有權利? –

回答

-1

這很奇怪。見我的輸出的phpinfo()

enter image description here

託管服務提供商已經把我限制128M(這不是我是誰把它設置爲128M),而在現實中,我有128M可用。根據我對覆蓋當地價值的主值的理解,我應該只有64M。

最奇怪的是,這些值都不受ini_set('memory_limit', '32M');的影響!

使用phpinfo很容易,只要下面的PHP文件放置到你的服務器:

<?php 
    phpinfo(); 
?> 
+0

,所以我有128米,但錯誤是爲256米。所以它改變了腳本的某個地方 –

+0

@NetaMeta什麼是你的價值觀?你的「本地」價值是什麼?什麼是你的「主」價值? – TMS

+1

本地2048,主128.但是,當我做一些回聲ini_get('memory_limit');我得到256 ..這是奇怪的 –

0

託管公司有一定的限制,我不能在運行時更改嗎?

這當然是一種可能性,特別是當您的主機作爲PHP服務提供時。通過在同一個腳本中運行phpinfo();,您可以檢查是否有任何修改將內存增加到2048M有任何影響。

+0

當地的價值是2048米,主人是128M,這樣很奇怪。 –

+0

你的php提供者是否使用空的用戶ini文件過濾器來禁用php.ini覆蓋? – Brian

+0

我真的不知道,但排氣內存錯誤是爲256,這意味着它不是服務器大小 - 它可能在腳本中的某個地方不確定 –

相關問題