我已經有index.php
和幾個文件級聯包括,這樣的事情。ini_set()作用域?
index.php -> controller.php -> model.php -> view.php
在model.php
我使用ini_set('memory_limit', '-1');
時候會設置的ini_set()
變化過期的功能?
執行後index.php
?或view.php
?或者在model.php
的功能?
我已經有index.php
和幾個文件級聯包括,這樣的事情。ini_set()作用域?
index.php -> controller.php -> model.php -> view.php
在model.php
我使用ini_set('memory_limit', '-1');
時候會設置的ini_set()
變化過期的功能?
執行後index.php
?或view.php
?或者在model.php
的功能?
ini_set()
是global對於在腳本中發生的所有事情(不僅僅是當前文件:正在發生的整個執行線程),對於整個請求;從何處調用它並不重要,它始終會影響此腳本的全局設置。效果將在腳本終止時到期 - 例如通過exit
,die
或運行結束index.php
。
它不會影響任何其他同時運行的腳本(這些腳本需要自己調用ini_set
),並且它不會延續到以後的請求中(如果需要持久設置,則需要編輯php.ini
)。
注意,documentation says the same thing:
設置給定的配置選項的值。配置選項將在腳本執行過程中保留這個新值,並在腳本結尾恢復。
編輯:既然是顯然不清楚:您更改使用ini_set
值將是有效的起整個腳本。無論現在的執行位置在哪裏(在哪個文件中,在什麼類中,在哪個函數中);設置將是相同的,無處不在。它會一直如此,直到您再次更改它,或者直到整個腳本終止。 (不是當前文件,不是當前函數;整個腳本)
我已經閱讀過文檔,但是我不知道它會在函數範圍(如變量)中使用,還是在使用此函數後會影響整個腳本。我是不知道他們的「腳本」是什麼意思。 – thReality
@thReality:你看過我的回答了嗎? Quote:「從哪裏調用它並不重要,它總是會影響此腳本的全局設置」 - 換句話說,完全不考慮函數範圍。 – Piskvor
「調用它並不重要,」 它在調用時很重要,「ini_set將對整個腳本起作用。」; – MTVS