2011-10-21 4 views
0

json API 호출을 통해 MySQL 데이터베이스 생성을 자동화하려고합니다. dbs를 나열하려면 다음과 같이 입력하면됩니다.cPanel API json 호출을 통해 MySQL DB를 생성 할 수 있습니까?

https://example.com:2083/json-api/cpanel?user=username&cpanel_jsonapi_module=MysqlFE&cpanel_jsonapi_func=listdbs&cpanel_jsonapi_version=2 

HTTP 소켓과 CURL을 통해 성공했습니다. adddb에 해당하는 호출이 있습니까?

https://example.com:2083/json-api/cpanel?user=username&cpanel_jsonapi_module=Mysql&cpanel_jsonapi_func=adddb&dbname=aa1&cpanel_jsonapi_version=1 

이것은 작동하지 않습니다. 다음 오류가 발생합니다.

"잘못된 이름"입니다. 잘못된 문자가 포함되어 있습니다.

아이디어가 있으십니까?

UPDATE :

나는 다음과 같은 코드 CakePHP의에서 HTTP 소켓 연결을 통해이 작업을 실행하고 있습니다 : 당신은 두 번 URL에 DBNAME있어

$query = 'cpanel_jsonapi_module=MysqlFE&cpanel_jsonapi_func=adddb&dbname=aa1&cpanel_jsonapi_version=2'; 

$request = array(
      'auth' => array(
       'user' => $queryData['conditions']['username'], 
       'pass' => $queryData['conditions']['password'], 
       'method' => 'Basic', 
      ), 
      'uri' => array(
       'scheme' => 'https', 
       'host' => $queryData['conditions']['host'], 
       'port' => '2083', 
       'user' => $queryData['conditions']['username'], 
       'path' => 'json-api/cpanel', 
       'query' => $query, 
      ), 
     ); 
    $result = json_decode($this->connection->request($request), true); 

답변

0

해결책을 찾았습니다. cPanel API를 통해 DB를 생성/삭제하려면 API 1을 통해 처리해야합니다. API 액세스는 약간 다릅니다.

먼저 귀하의 cPanel 계정을 사용하고있는 테마 (StatsBar 받아야합니다 :

https://example.com:2083/json-api/cpanel?user=USERNAME&cpanel_jsonapi_module=StatsBar&cpanel_jsonapi_func=stat&display=theme&cpanel_jsonapi_version=2 

그런 다음 다른 요청으로 그 테마를 플러그 : 합계 (테마) 물론

https://example.com:2083/frontend/THEME/sql/addb.html?db=aa1 

을, 당신

0

http://docs.cpanel.net/twiki/bin/view/ApiDocs/Api1/ApiMysql#Mysql::adddb

하지만, 그게 중요한지 모르겠다. ...

url API가 어떻게 작동하는지 잘 모르겠다. try ... _jsonapi_func = adddb (thedbname)하지만 그게 효과가 있는지 전혀 모른다.

+0

하나의 dbname 요청을 반영하여 게시물을 편집했습니다. 실제 코드에는 여러 개의 dbname이 없습니다. 전지. 이 게시물 이전에 API 문서를 읽었습니다. 그러나 나는 당신의 제안을 시도하고 '구문 오류가있어 (eval 6) line 1, near)') (".하지만 의견을 보내 주셔서 감사합니다. –