Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP ob_start包含一个文件,其中包含一个_Php_Include_Ob Start - Fatal编程技术网

PHP ob_start包含一个文件,其中包含一个

PHP ob_start包含一个文件,其中包含一个,php,include,ob-start,Php,Include,Ob Start,我尝试缓存一个php文件。 这个php文件只是一个HTML文件,其中包含一些include和变量 我想执行这个php文件一次,然后把它放在一个.html文件中 我试过: ob_start(); include('source.php'); $file_content = ob_get_contents(); file_put_contents('cache.html', $file_content); ob_end_clean(); 它不起作用,因为source.php中有一些include函

我尝试缓存一个php文件。 这个php文件只是一个HTML文件,其中包含一些include和变量

我想执行这个php文件一次,然后把它放在一个.html文件中

我试过:

ob_start();
include('source.php');
$file_content = ob_get_contents();
file_put_contents('cache.html', $file_content);
ob_end_clean();
它不起作用,因为source.php中有一些include函数,没有创建cache.html文件,并且ob_start的输出是可见的

如果我删除source.php中的include函数,它会工作得很好

有什么想法吗


谢谢

所包含的任何文件是否使用了
ob_XXX
函数?它根本不写?检查以确保目录可写。如果文件在那里,请查看是否有错误。@RobW他说如果他删除
include
调用,那么它会工作,因此他可能有权限。检查PHP日志中的错误。可能其中一个包含文件导致错误,因此脚本的其余部分未运行。如果模板中有包含,则可能由于无法解析包含中包含的路径而中断。曲柄错误报告高达11,看看你得到什么。