当我在包含的脚本中设置ini_set('memory_limit', '100M');
时,这是否适用于包含此脚本的完整请求?
答案 0 :(得分:1)
更新re acmatos'评论:是的,如果您在子包含中调用set_memory_limit
,它将适用于整个脚本。 include不是任何类型的单独进程,而只是PHP解释器查找代码的另一个地方。对于解释器,无论您包含多少文件,都有一个脚本。
唯一的例外是当您使用http://
网址包含文件时。这被视为远程请求,即使它指向localhost。为此,启动一个新请求来解析该文件,启动一个新的PHP进程,该进程有自己的内存限制。这种做法非常不寻常。
旧回答:
在这种情况下,我不确定你的“完整请求”是什么意思,但答案可能是否定的。内存限制仅适用于PHP脚本以及由其分配/使用的内存。它不适用于使用exec()
调用的任何外部二进制文件。