Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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脚本崩溃apache_Php_Apache - Fatal编程技术网

php脚本崩溃apache

php脚本崩溃apache,php,apache,Php,Apache,此脚本使apache崩溃。我故意删除了url。有人能看一看并提供替代方案吗?谢谢 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equi

此脚本使apache崩溃。我故意删除了url。有人能看一看并提供替代方案吗?谢谢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function ()
        {
            $("#btn_Start").attr("disabled",false);
            setTimeout(function(){Doextract();},2000);
        });

function Doextract()
{
    if($("#stop").val() == "1")
    {
        $("#btn_Start").attr("disabled",true);
        window.location.reload();
    }
}

function stop()
{
    if($("#stop").val() == "1")
    {
        $("#stop").val("0");
        $("#btn_Start").val("Start");
    }
    else
    {
        $("#stop").val("1");
        $("#btn_Start").val("Stop");
        $("#btn_Start").attr("disabled",true);
        window.location.reload();

    }
}
</script>
</head>
<body>
<input type="hidden" value="1" id="stop" />
<input type="button" value="Get citys"  id="btn_Start" onclick="stop();" /></div>
<div id="showResult"></div>

  <?php 
 set_time_limit(0);
ini_set('memory_limit', '-1');
$url = "";
include_once 'simple_html_dom.php'; 
include_once 'conn.php';
$id = $_GET['id'];
$sql = "select * from page_category where category_tag = 0 and city_id = '".$id."' LIMIT 0 , 1";
$rst = mysql_query("$sql",$link);
if($rst > 0)
{
      $details = mysql_fetch_row($rst);
      $cateid = $details[0];
      $count = mysql_num_rows($rst);
        $html = file_get_html($url.$details[3]);
        $sql = "delete from page_data where category_id =".$cateid;
        $rst = mysql_query("$sql",$link);
        foreach ($html->find('input#search-find') as $e)
        {
            $categoryname = $e->value;
        }
        foreach ($html->find('div#toolbar-top') as $e)
        {
            foreach ($e->find('strong') as $c) 
            {
                $temp = split('b',$c->plaintext);
                $total = $temp[0];
                $pages = $total/25;
                //echo $total."<br>";
                //echo $pages;
            }
        }
        $j = 1;
        //echo $pages;
        for($i=1;$i<=ceil($pages);$i+1)
        {
                $urls = $url.$details[3]."?page=".$i;
                //echo $urls;
                $html = file_get_html($urls);
              foreach ($html->find('div.description') as $e)
            {
                $name = "";
                foreach ($e->find('h2') as $c) 
                {
                    $name = $c->plaintext;
                }
                $address = "";
                foreach ($e->find('span.street-address') as $c) 
                {
                    $address = $c->plaintext;
                }
                $locality ="";
                foreach ($e->find('span.locality') as $c) 
                {
                    $locality = $c->plaintext;
                }
                $region ="";
                foreach ($e->find('span.region') as $c) 
                {
                    $region = $c->plaintext;
                }
                $code ="";
                foreach ($e->find('span.postal-code') as $c) 
                {
                    $code = $c->plaintext;
                }
                $tel ="";
                foreach ($e->find('li.number') as $c) 
                {
                    $tel = str_replace('(','',$c->plaintext);
                    $tel1 = str_replace(')','',$tel);
                    $tel2 = str_replace('-','',$tel1);
                    $tel3 = str_replace(' ','',$tel2);

                }
                $email = "";
                foreach ($e->find('a.email') as $c) 
                {
                    $email = str_replace('mailto:','',$c->href);
                }

                $sql="insert into page_data (category_id,name,category,address,city,state,postalcode,telnumber,email) values ";
                $sql.="(".$cateid.",'".$name."','".$categoryname."','".$address."','".$locality."','".$region."','".$code."','".$tel3."','".$email."')";
                    //echo $sql;
                $res = mysql_query("$sql",$link);

            }
        }
        $sql = "update page_category set category_tag = 1 where id ='".$cateid."'";
        //echo $sql;
        $res = mysql_query("$sql",$link) or die(mysql_error());
        echo "Category: \"".$details[2]."\" is done!";
}
else 
{
    echo "All categories are done!";
    //$sql = "update page_city set city_tag = 2 where id =".$id;
    //$rst = mysql_query("$sql",$link);
}

  ?>
</body>
</html>

$(文档).ready(函数()
{
$(“#btn_Start”).attr(“禁用”,false);
setTimeout(函数(){Doextract();},2000);
});
函数Doextract()
{
如果($(“#停止”).val()=“1”)
{
$(“#btn_开始”).attr(“禁用”,真);
window.location.reload();
}
}
函数停止()
{
如果($(“#停止”).val()=“1”)
{
$(“停止”).val(“0”);
$(“#btn_Start”).val(“Start”);
}
其他的
{
$(“停止”).val(“1”);
$(“#btn_开始”).val(“停止”);
$(“#btn_开始”).attr(“禁用”,真);
window.location.reload();
}
}

您确定它确实会使apache崩溃,而不仅仅是脚本中的错误吗?您正在显示错误吗

要显示错误,请将其放在页面顶部:

error_reporting(E_ALL);
ini_set('display_errors', '1');

如果这不起作用,我会一直删除代码,直到它开始工作,然后慢慢地构建它,直到它再次崩溃。然后,您就知道了故障点。

您能告诉我们您所说的崩溃是什么意思吗?脚本是否未完成执行?Apache是否返回500状态

在一般实践中,您应该在可能的地方简化/删除代码区域,直到您可以使其中断,以便您可以找到导致PHP自杀的语句

例如,取出
if
块的内容。。。如果脚本有效,您就知道您的问题在哪里。您还可以尝试一些策略性放置的
die
调用,这些调用将停止执行,并在函数调用中执行和打印参数的输出。例如,地点:

die(变量转储($details))


调用后,
$details=mysql\u fetch\u行($rst)
查看MySQL是否出现问题

检查帖子的格式。这有点难读,尤其是单行评论。解释一下“崩溃”是什么意思。如果我是你,我会首先修复标记,并提供有关错误的更多信息。如果可以的话,一些错误日志也会有帮助。你确定它是否真的“崩溃”了Apache?我认为它会工作很长时间,因为它从URL下载页面。您还可以从命令行
php script.php
运行它,看看它是否会崩溃。错误消息是什么,它在Apache的错误日志中说了什么?