【问题标题】:php page loading scriptphp页面加载脚本
【发布时间】:2013-08-22 18:36:30
【问题描述】:

我有一个托管在 rackspace 云站点上的站点。我正在尝试运行一个故障排除脚本来找出网站的一些问题。

云网站有 30 秒的超时时间,并且在结果页面可以加载之前超时。我与他们的支持进行了交谈,他们建议我在 php 文件的顶部放置一个页面加载脚本以保持连接打开,但我不知道该怎么做,我所做的谷歌搜索并没有太大帮助。

我尝试运行的脚本太长,无法包含在此处,但如果有人需要,您可以在此处找到它http://forum.joomla.org/viewtopic.php?f=621&t=582860

编辑:所以无论我在脚本中将执行时间设置为什么,机架空间使用的负载平衡器仍然会在 30 秒后超时。他们告诉我在脚本开头运行“页面加载”脚本以保持连接打开,所以我将开始研究如何做到这一点。

【问题讨论】:

  • 托管公司是否允许您通过 ini_set 更改 php 设置?

标签: php joomla1.5


【解决方案1】:

你可以试试set_time_limit()函数:

http://php.net/manual/en/function.set-time-limit.php

【讨论】:

    【解决方案2】:

    默认情况下,PHP 脚本在 30 秒后超时。

    使用set_time_limit( int $seconds )函数延长最大执行时间。

    您也可以使用ini_set() 并设置max_execution_time

    ini_set("max_execution_time", 300);
    

    编辑

    如果上述方法不起作用,那么他们可能使用辅助机制来超时阻塞连接。在这种情况下,您可以尝试定期刷新一些数据。

    ob_start(); // enable output buffering
    
    // output something at regular interval
    echo " ";
    ob_flush();
    
    // at end of script
    ob_end_flush();
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢你发现,无论我在脚本中设置什么时间,负载平衡器在 30 秒后仍然超时。因此,选项是通过 cron 运行它并找到一种将输出发送到我可以查看之后的 html 文件的方法,或者在脚本开始时运行页面加载脚本以保持连接打开。
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多