2017-03-03 1029 views
1

當我們在代碼中使用如下所示的ini_set時,所有其他代碼的內存限制是否相同?或者只對我們添加的代碼有效?PHP ini_set內存限制

ini_set('memory_limit', '512M');

感謝

回答

3

它只適用於寫入它的文件。改變在同一文件夾多個PHPS設置 最好的辦法是:

1.創建一個名爲 「htaccess的」 與線

php_value memory_limit的 '512M'

保持文件記住,這隻適用於,如果你的服務器配置允許「AllowOverride」指令爲這個目錄

2.添加自己的PHP與你的配置選項爲auto-prepend-file

您可以在php.ini中執行此操作。

3.改變「memory_limit的」價值直接在您php.ini中

但是當我們執行這個將影響到所有的PHP-文件正在運行

+0

我不想改變默認的memory_limit,只想爲特定的php文件增加它,所以當我添加ini_set('memory_limit','512M'); ,那麼僅用於此文件的內存將被用於512.其他php文件將使用默認限制。這是我所承諾的。 – user6618536

+0

是的,這是正確的,ini_set隻影響這個php和這個文件包含的所有文件。 – Radon8472

1

這取決於你在哪裏添加。

如果在specific script那麼直到該腳本正在運行。如果設置爲application level那麼它將被設置爲該特定的應用程序。

+0

如果我在test.php的添加它,然後它,內存將被設置爲512M,然後退出腳本後,默認內存限制(不是512M)將用於其他的PHP文件,對不對? – user6618536

+0

@ user6618536它將被重置....不用於其他的PHP文件。 – Naincy