WHM / Cpanel API Cron :: listcron запрос с использованием cURL - PullRequest
2 голосов
/ 18 декабря 2011

Я использую код ниже, чтобы получить список cron, но единственное, что я получаю, это пустая страница.Также, когда я заменяю порт 2087 на 2083, вывод будет: {"data": {"reason": "Доступ запрещен", "result": "0"}, "type": "text"} со статусом HTTP 403Можете ли вы помочь мне решить эту проблему?

            $user = $_ENV['REMOTE_USER'] ? $_ENV['REMOTE_USER'] : 'root';
            $accessHash = $this->getLocalAccessHash();
            if($accessHash === FALSE) return FALSE;

            $url = "https://127.0.0.1:2087/json-api/cpanel?user=$user&cpanel_jsonapi_module=Cron&cpanel_jsonapi_func=listcron&cpanel_jsonapi_version=2";
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            if($fp = fopen('curl_http.txt', "wa")) curl_setopt($ch, CURLOPT_STDERR, $fp);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            //curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: WHM $user:$accessHash"));
            $cronlistJSON = curl_exec($ch);
            $ci = curl_getinfo($ch);
            curl_close($ch);
            if($fp) fclose($fp);

            print_r($ci);
            die($cronlistJSON);  

1 Ответ

2 голосов
/ 18 декабря 2011
  • Проверьте правильность хэша доступа (но я думаю, вы уже это сделали)
  • Вы можете войти в систему только для учетных записей root / reseller с помощью метода хэширования доступа
  • Возможно, ваш хэш доступа содержит пробелы? Просто раздень это так:

    $accessHash = preg_replace('/\s/', '', $accessHash);
    
  • Необязательно: используйте оболочку PHP cPanel-API , что значительно облегчает такие вещи.

...