Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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脚本执行_Php_Apache_Codeigniter - Fatal编程技术网

重脚本文件的php脚本执行

重脚本文件的php脚本执行,php,apache,codeigniter,Php,Apache,Codeigniter,我有一个在php框架中开发的项目,名为codeigniter。我有一个脚本文件,它为我的客户端创建了300000个PDF的db记录。问题是我必须分块运行代码。因为它会产生错误,一些时间服务器超时,一些时间内存不同步,所以我通过在php.ini中更改来修复所有错误,但都是徒劳的。因为我仍然需要使用7000个集合的limit来生成块PDF。如果我增加限制偏移量,它将无法运行,并给出错误信息。这是非常困难的坐到300000记录和生成pdf对他们。我只想在一个块内运行。请给我一个解决方案。我真的需要它。

我有一个在php框架中开发的项目,名为codeigniter。我有一个脚本文件,它为我的客户端创建了300000个PDF的db记录。问题是我必须分块运行代码。因为它会产生错误,一些时间服务器超时,一些时间内存不同步,所以我通过在php.ini中更改来修复所有错误,但都是徒劳的。因为我仍然需要使用7000个集合的limit来生成块PDF。如果我增加限制偏移量,它将无法运行,并给出错误信息。这是非常困难的坐到300000记录和生成pdf对他们。我只想在一个块内运行。请给我一个解决方案。我真的需要它。提前感谢。

我建议使用单独的shell脚本,或者如果您坚持使用PHP脚本,请像使用shell脚本一样使用它。您可以“启动并忘记”脚本,这样它就可以在后台运行,而不会影响其他任何内容,也不会占用web应用程序的资源。这大概是:

shell_exec('yourscript.sh > /dev/null 2>/dev/null &');
或者使用php脚本

shell_exec('php yourscript.php > /dev/null 2>/dev/null &');

注意,在上面,我将stdout和stderr重定向到null。如果您不想使用它们,您宁愿将它们重定向到其他地方。

我建议为此使用单独的shell脚本,或者如果您坚持使用PHP脚本,请像使用shell脚本一样使用它。您可以“启动并忘记”脚本,这样它就可以在后台运行,而不会影响其他任何内容,也不会占用web应用程序的资源。这大概是:

shell_exec('yourscript.sh > /dev/null 2>/dev/null &');
或者使用php脚本

shell_exec('php yourscript.php > /dev/null 2>/dev/null &');


注意,在上面,我将stdout和stderr重定向到null。如果您不想要它们,您宁愿将它们重定向到其他地方。

尝试从CLI运行PHP脚本?30k或300k这需要大量资源来制作这么多pdf。您需要在运行时循环并释放资源。仍然需要几个小时(天?)您如何运行/调用您的脚本?从浏览器?命令行?阿德南,我是从browserOkay运行它的,所以这里有一个黑客/补丁解决方案。让您的脚本在完成区块(7000偏移量)后回显此内容。location=“thispage.php?offset=“”,$new_offset”“,尝试从CLI运行php脚本?30k或300k这需要大量的资源来制作这么多pdf。您需要在运行时循环并释放资源。仍然需要几个小时(天?)您如何运行/调用您的脚本?从浏览器?命令行?阿德南,我是从browserOkay运行它的,所以这里有一个黑客/补丁解决方案。让您的脚本在完成区块(7000偏移量)
echo'窗口后进行回显。location=“thispage.php?offset=“”,$new\u offset”“,
EIS亲爱的,您能解释一下吗,我该怎么做吗。@StromMan您对哪个部分有问题?亲爱的EIS,我在根目录上创建了文件,我用一些修改的shell\u exec复制了您的mantion代码行('php test.php>/dev/null 2>/dev/null&'));但它没有给出任何输出。请告诉我它是如何工作的。因为我不知道它将如何工作。谢谢advance@StromMan就像解释的那样,代码将stdout和stderr输出重定向为null。如果您想查看该输出,请将其重定向到您想查看的位置。亲爱的,您能解释一下吗,我该怎么做。@StromMan您有哪一部分亲爱的EIS,我在我的根目录上创建了一个文件,我用一些修改的shell_exec('php test.php>/dev/null 2>/dev/null&')复制了您的mantion代码行;但它没有给出任何输出。请告诉我它是如何工作的。因为我不知道它将如何工作。谢谢advance@StromMan如前所述,代码将stdout和stderr输出重定向为null。如果您想查看该输出,请将其重定向到您想查看的位置。