(0)使用error_reporting;在一个功能

时间:2015-09-02 00:30:09

标签: php

我正在尝试学习的类和函数,我正在做一个fsockopen来检查服务器是否在线。当我直接从页面执行此操作时,一切都很顺利(不调用函数。)我正在尝试关闭特定函数的错误报告。 编辑:我也尝试将error_reporting直接添加到函数中,但也无效。

class server
{

public function __construct() {
    global $servhost;
    global $gameport;
    global $loginport;
    $this->fp = fsockopen($servhost, $gameport, $errno, $errstr, 5);
    $this->er = error_reporting(0);

                              }

function servstatus()
{
    // tried this echo $this->er;
    // tried this $this->er;
    // tried this error_reporting(0);

    if ($this->fp) {

         echo "Server Online";

         fclose($this->fp);

        } else {

           echo "Server Offline";

           fclose($this->fp);

               }

                     }
}

1 个答案:

答案 0 :(得分:2)

您可以使用 @ 来抑制函数调用或表达式的错误报告。

例如$status = @servstatus();$this->fp = @fsockopen($servhost, $gameport, $errno, $errstr, 5);

我建议您尝试找到更好的方法来处理错误或警告,而不是忽略它。抑制只应在某些情况下使用,并且在调试时可能会出现问题,因此应谨慎使用。