2014-11-05 94 views
0

我試圖創建一個類與PHP中的crontab工作。 我用this tutorial.一些嘗試與PHP的catch問題

我已經安裝了libssh2,但正如你所看到的,它還沒有工作。所以我在我的服務器上有一個文件Ssh2_crontab_manager.php。在這裏它的內容:

<?php 
     Class Ssh2_crontab_manager 
     { 
      private $connection; 
      private $path; 
      private $handle; 
      private $cron_file; 
      function __construct($host=NULL, $port=NULL, $username=NULL, $password=NULL) 
      { 
       $path_length = strrpos(__FILE__, "/"); 
       $this->path  = substr(__FILE__, 0, $path_length) . '/'; 
       $this->handle = 'crontab.txt'; 
       $this->cron_file = "{$this->path}{$this->handle}"; 

       /*try 
       { 
        if ((is_null($host)) || (is_null($port)) || (is_null($username)) || (is_null($password))) throw new Exception("Please specify the host, port, username and password!"); 
       } 
       catch 
       { 

       }*/ 
      } 


     } 
?> 

這裏是noReplyCrontab.php,我嘗試使用這個類:

<?php 
include './lib/Ssh2_crontab_manager.php'; 
//$crontab = new Ssh2_crontab_manager('host', '22', 'user', 'pass'); 
echo 'WORKS'; 
?> 

如果我現在運行它,它說,「作品」,但如果我取消嘗試/趕上塊它顯示只是白色的屏幕,所以我認爲有一些錯誤。任何人都可以展示給我?

回答

3

您的代碼表示

catch 
{ 

} 

catch什麼?

你要提供價值catch條款

catch (Exception $e) 
{ 
     //now it will work fine 
} 

Manual

+0

我很快就會接受你的答案。剛剛從教程 – 2014-11-05 06:24:43

+2

@SergeyScopin複製它是因爲你沒有足夠深入頁面。它讀取'catch(Exception $ e) \t \t { \t \t \t $ this-> error_message($ e-> getMessage()); \t \t}' - 這是一步一步的,第一和第二不,但第三。 – 2014-11-05 06:32:03

1

試試這個

try 
{ 
    if (true) throw new Exception("Please specify the host, port, username and password!"); 
} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
}