首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP生成XML,随机超时

PHP生成XML,随机超时
EN

Stack Overflow用户
提问于 2008-10-17 11:29:15
回答 2查看 197关注 0票数 2

我没有头绪。这会导致看似随机的超时。这些反过来打破了闪存,我正在加载它。以前有没有人见过这样的东西?

代码语言:javascript
运行
复制
<?php
require_once("../includes/class.database.php");
require_once("../includes/dbConnectInfo.inc");
require_once("../includes/functions.php");

include("../includes/conn.php");

$cat = $_GET['category'];
$result = mysql_query("SELECT * FROM media WHERE related_page_id=4 && type='copy' ORDER BY id ASC LIMIT 6");

$media = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
$media .= "<content>\n";
while($row = mysql_fetch_array($result)) {
    $media .="<member>\n";
    $body = $row[copy];

    if($row[title] == "") {
        $media .= "<title><![CDATA[";
        $media .= "Team";
        $media .="]]></title>\n";
    } elseif ($row['path']=="") {
        $name = explode("/",$row[title],2);

        $media .= "<name><![CDATA[";
        $media .= $name[0];
        $media .="]]></name>\n";

        $media .= "<job><![CDATA[";
        $media .= $name[1];
        $media .="]]></job>\n";
    } 

    if($body !="") {
        $media .="<bio><![CDATA[";
        $media .= $body;
        $media .= "]]></bio>\n";
    }

    $something = $row['id'];
    $result1 = mysql_query("SELECT * FROM media WHERE assets='$something'");
    $media .= "<images>";
    while($row1 = mysql_fetch_array($result1)) {
        $img = explode("/",$row1[path],2);
        $media .= "<image url='$img[1]' />";
    }
    $media .= "</images>\n";
    $media .="</member>\n";
}   
$media .= "</content>";
echo $media;
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-17 11:31:35

如果将set_time_limit(0);添加到代码中会发生什么?我通常会将这一行添加到include语句下面的长执行代码中。

既然这是可行的,让我来详细说明一下。

默认情况下,PHP脚本设置为只能执行这么长时间。我相信安装PHP时的限制是30秒,但这个限制可以在php.ini文件中更改。但是,您可能不希望允许所有脚本运行相同的时间长度-对于大多数脚本来说,30秒可能就足够了。set_time_limit函数允许您设置一个脚本的执行时间。它需要一个表示运行脚本的秒数的整数值,但值为0意味着脚本将永远运行。

票数 3
EN

Stack Overflow用户

发布于 2008-10-17 11:41:42

PHP的默认超时时间是30秒。如果这段代码花费了30秒,那么我认为你有一些问题!你在媒体表上有索引吗(一个跨related_page_id + type,一个在assets上)。

增加时间限制更像是隐藏问题而不是修复问题,而且我肯定不会使用set_time_limit(0);。您需要一些合理的最大值,可以是一分钟、一小时、一天或任何其他时间,具体取决于您的需求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/211800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档