PHP服务器状态脚本

时间:2011-10-30 04:39:38

标签: php

嘿,我需要有关此服务器状态脚本的帮助。发生了什么事情,当我使用这个脚本它根本不显示任何东西..这是当前的代码:

    <?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

$ip = $_GET['ip'];
$port = $_GET['port'];


    /* Attempt to open */
        $im = @imagecreatefrompng('status.png');
        // Set the content-type
        header('Content-type: image/png');
        //check to see if server is online or offline
        $socket = fsockopen($ip, $port, $errno, $errstr, 1);

        if($socket) {
        $text = 'Online';
        $color = imagecolorallocate($im, 0,255,0);
        } else {

        $text = 'Offline';
        $color = imagecolorallocate($im, 255,0,0);
        }


        /* See if it failed */
        if($im)
        {
            // Create some colors
        $white = imagecolorallocate($im, 255, 255, 255);

        imagefilledrectangle($im, 0, 0, 399, 29, $white);

        // Replace path by your own font path
        $font = 'Arial Bold.ttf';

        // Add some shadow to the text
        imagettftext($im, 20, 0, 11, 21, $color, $font, $text);

        // Add the text
        imagettftext($im, 20, 0, 10, 20, $color, $font, $text);

        // Using imagepng() results in clearer text compared with imagejpeg()
        imagepng($im);
        imagedestroy($im);

        } else {
         print("Error finding image $image</br>");
    }
    ?>

我想要做的是检查服务器是否在线,如果是,则在后台图像status.png上显示在线,但是当我使用以下网址格式时:Myurl/getStatusImage.php?ip=94.249.187.82&port=25565它显示一个空白页面

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

恭喜家伙,是时候熟悉编程了。
并学习一些调试技术。

事实上,世界上没有一个灵魂可以在您环境中的服务器上告诉您代码有什么问题。但只有你自己的代码可以要求它。

首先,请注释header行并查看其内容 - 哦 - 从代码中删除所有boody @'s ! 所以你将能够看到是否发生了任何错误。

然后将您的代码分成2个块 - 获取信息部分并创建图像部分。分别运行,直到每个工作完美。然后才将它们结合起来。