ob_start() 看不到过去的变量
ob_start() does not see the variables of the past
我有问题。即代码:
$config = [
'db' => '...',
'root' => '...',
...
]
ob_start();
foreach ($files as $file) {
include $file;
}
$output = ob_get_contents();
ob_end_clean();
我使用输出缓冲并在最后显示结果。问题是包含的文件没有看到 $config.
如何让我的 OUTPUT BUFFERING 看到它之前的内容,而不在缓冲区中添加 $config?
有什么想法吗? (感谢)
看来您对错误的因果关系有误。您可以通过将 $config
放入缓冲区来验证它是否已经存在。
因为你没有分享包含文件的内容,我无法告诉你你的变量消失到哪里了,但我可以向你保证它在那个文件的处理过程中就在那里。它也在那里,这可以通过 var_dump($config)
在缓冲区内部或缓冲区之后的任何时候进行验证。
我有问题。即代码:
$config = [
'db' => '...',
'root' => '...',
...
]
ob_start();
foreach ($files as $file) {
include $file;
}
$output = ob_get_contents();
ob_end_clean();
我使用输出缓冲并在最后显示结果。问题是包含的文件没有看到 $config.
如何让我的 OUTPUT BUFFERING 看到它之前的内容,而不在缓冲区中添加 $config?
有什么想法吗? (感谢)
看来您对错误的因果关系有误。您可以通过将 $config
放入缓冲区来验证它是否已经存在。
因为你没有分享包含文件的内容,我无法告诉你你的变量消失到哪里了,但我可以向你保证它在那个文件的处理过程中就在那里。它也在那里,这可以通过 var_dump($config)
在缓冲区内部或缓冲区之后的任何时候进行验证。