Я пытаюсь создать класс для работы с crontab в php. Я использовал этот учебник.
Я установил 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'; ?>
Если я запустил его сейчас, он говорит «работает», но если я раскомментирую блок try / catch, он показывает только белый экран, поэтому я предполагаю, что есть некоторая ошибка. Любой может показать это мне?
Ваш код говорит
catch { }
Но catch
Что?
Вы должны предоставить это значение для определения catch
catch (Exception $e) { //now it will work fine }
Руководство
попробуй это
try { if (true) throw new Exception("Please specify the host, port, username and password!"); } catch(Exception $e) { echo $e->getMessage(); }