改进PHP脚本执行

时间:2016-08-22 13:37:03

标签: php

我创建了脚本来从PDF文件中读取文本。我有大约10000个文件,要阅读所有这些文件,最多可能需要2个小时。最长时间&服务器的空闲时间是30分钟。如何改进此脚本或任何其他解决方案,因此我不必更改空闲时间,脚本将一次执行。

提前致谢。

2 个答案:

答案 0 :(得分:2)

更改PHP脚本以仅处理一个文件。然后,创建一个批处理文件以循环执行php脚本。

PHP脚本的伪代码: -

  1. 获取下一封未读文件的路径
  2. 如果没有其他文件,请退出代码' 1'
  3. 阅读文件
  4. 处理文件
  5. 退出代码' 0'
  6. 批处理文件的伪代码: -

    1. 开始
    2. 运行php脚本
    3. 如果(2)的返回码为' 0'然后去开始
    4. 这将减少每个脚本的执行时间,从而防止达到30分钟的限制。

      希望这有帮助。

      [编辑1] 批处理文件应该是这样的,

      @echo off
      
      :Begin
      php -f yourscript.php
      
      IF ERRORLEVEL 1 GOTO End
      IF ERRORLEVEL 0 GOTO Begin
      
      :End
      echo Finished.
      

      [编辑2]批处理文件的替代解决方案。

      将刷新标头附加到PHP脚本

      header('refresh: 3');
      

      让它自我重复。

答案 1 :(得分:0)

您可以使用set_time_limit()功能更改脚本执行时间。

// To disable the time limit
set_time_limit(0);

// To raise the time limit
// The numbe represents the time in seconds
set_time_limit(3600);

第二种选择是使用较少量的pdf多次运行脚本。

Resuurces