簡體   English   中英

phpseclib:實例化New_SFTP對象時如何優雅地處理連接錯誤

[英]phpseclib: how to handle connection error gracefully when instantiating a New_SFTP object

我正在嘗試以比默認API更優美的方式處理此連接錯誤。 默認的API將顯示一條錯誤消息,但是我想抑制它並以自己的方式替換它,識別錯誤並進行處理,但是我不確定該怎么做。

public function __construct($host)
{
      // trying to test by opening a failed connection -- try catch
      // block doesn't work because no exception thrown
      $this->connection = new Net_SFTP("nonexistent.domain.com");

      // this will not work either ....
      if ( !$this->connection->status_codes )
      {
         throw new Exception("Could not create SFTP connection.\n");
      }

      else
      {
         echo "Connected via SFTP to " . $host . " on port 22.\n";
      }
}

執行它將顯示,即使有錯誤,也會擊中else塊:

PHP Notice:  Cannot connect to nonexistent.domain.com. Error 0. php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/dylan/Documents/php/Net/SSH2.php on line 788
Connected via SFTP to gluon.exavault.com on port 22.

我一直在尋找Net/SFTP.php文件中的類,但似乎找不到找到處理錯誤代碼並忽略錯誤消息的方法。 是否有人對其他可能的解決方案有任何想法?

對不起,看錯了。

您可以設置error_reporting(E_ALL ^ E_NOTICE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM