2017-06-24 20 views
2

私はcPanelでphpスクリプトからログインしたいので、ファイルマネージャからいくつかのファイルを変更する必要があります。PHP経由でcPanelにログインできますか?

私はcPanelのユーザ名とパスワードも持っていますが、ファイルの変更は私がPHPスクリプトではなくグラフィックで行っています。

私はファイルマネージャのファイルを変更するためにfile_put_contentを使用します。

コード以下を参照してください。

enter image description here

+0

注意してくださいcpanelは、PHPで行うことはできません。しかし、それにはAPIもあります – rtfm

+0

cpanelにアクセスする必要はありません。 cronジョブを設定する –

+0

PHPで 'ftp_'コマンドを使ってサーバに接続できます。 – halfer

答えて

0

はい、方法があり、CPanelのは、PHPで使用できるAPIを持っています。 docsから例:

// Instantiate the CPANEL object. 
require_once "/usr/local/cpanel/php/cpanel.php"; 

// Connect to cPanel - only do this once. 
$cpanel = new CPANEL(); 

// Get domain user data. 
$get_userdata = $cpanel->uapi(
    'DomainInfo', 'domains_data', 
    array(
     'format' => 'hash', 
    ) 
); 

// Perform the desired actions. 
この機能を行うために必要な
+0

cpanel.phpクラスはどこですか?私はあなたの与えられたドキュメントのリンクを参照してくださいしかし、私もそのクラスをうまくいかないです。 –

+0

もうひとつ、私はこれを使ってドメイン情報だけを得ることができます。実際には、PHP経由でcpanelにログインした後、ウェブサイトのサーバファイルを変更したいのです。 ありがとう、 –

+0

ファイルの場所は/usr/local/cpanel/php/cpanel.phpです。ドキュメントを読んでください。関連するすべてのコンテンツをここに貼り付けることはできません。また、APIを使用してファイル操作を行うこともできます。これについては、https://documentation.cpanel.net/display/SDK/cPanel+API+2+Functions+-+Fileman%3A% 3Afileop –

0

要素がある -

Server/WHM Username 
    Cpanel account Username 
    Server login URL 
    Server accesshash key 

そしてAccesshashキー、新規または既に生成されたアクセスキーはこちらから入手できます - WHM>リモートアクセスキーエリアとそこに位置するアクセスキー。 またはそれがこのパス「であるべきは/ usr/local/cpanelの/ binに/ realmkaccesshash

あなたは、これらすべての詳細を取得したら、あなたはコードのステップとして従うことができます: -

  $query = "https://$server_login_link:2087/json-api/create_user_session?api.version=1&user=$cpanel_user&service=cpaneld"; 
      $curl = curl_init(); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0); 
      curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 

      $header[0] = "Authorization: WHM $whmusername:" . preg_replace("'(\r|\n)'","",$hash); 
      curl_setopt($curl,CURLOPT_HTTPHEADER,$header); 
      curl_setopt($curl, CURLOPT_URL, $query); 
      $result = curl_exec($curl); 

      if ($result == false) { 
       // your error log 
      } 
      if($result){ 
       $decoded_response = json_decode($result, true); 
       if(isset($decoded_response['data']) && !empty($decoded_response['data'])){ 
        $url = $decoded_response['data']['url']; 
        return $url;   
       } 

      }   

あなたがこれを得ればURLを使用すると、新しいタブまたは同じタブで直接開くことができ、ログインする必要があります。 cpanelログインと同様のセッションを生成し、すべての特定のcpanel権限を提供します。

サーバ内のすべてのcpanelアカウントへのアクセスではなく、特定の特定のアカウントでのみログインすることを記憶しています。

関連する問題