超链接没有得到适当的价值

时间:2013-10-06 20:59:21

标签: php

我有一个PHP脚本,里面有无限循环。浏览器不会在循环中打印第一个echo语句,它甚至不提供到超链接的正确链接。什么可能出错?

Demo

代码:

<html>
<head>
<style>
img{
    height:200px;
    width:200px;
}
</style>
</head>
<body>
 <?php
error_reporting (0);
set_time_limit(0);// Setting an infinite timeout limit.
        for($i=1;  ;$i++)
            {
            $to_send = "http://graph.facebook.com/";
            $to_send_new = $to_send.$i;
            $content = file_get_contents($to_send_new);
            $parsed = json_decode($content);
            $link = $parsed->link;
            $link = str_replace("http://www.facebook.com","https://graph.facebook.com",$link);
            $link .="/picture?width=200&height=200";
            if(!$parsed->first_name)
            goto a;
?>

<br>
            First Name: <?php echo $parsed->first_name;?>
            <br>
            Last Name:<?php echo $parsed->last_name;?>
            <br>
            Full Name :<?php echo $parsed->name;?>
            <br>
            Facebook Username:<?php echo $parsed->username;?>
            <br>
            Gender:<?php echo $parsed->gender;?>
            <br>

            <a href="<?php echo $link; ?>" target="_blank">Profile Picture</a> 
            <!--
             <img src="<?php/* echo $link; */?>" >
             -->
             <br>
             <hr>

 <?php

        sleep(5);
a:
 }

 ?>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

小心无限循环。根据您的Web服务器(例如apache)和php设置,对服务器的任何请求都会在服务器上添加一个线程,该线程会占用其资源集。这可能会或可能不会挂断您的服务器。

有时我会自己使用持久循环。在这种情况下,我发现apachestatus很有用,可以检查哪些线程仍在运行: http://httpd.apache.org/docs/2.2/mod/mod_status.html

它还提供了有助于杀死旧线程的PID。