0

こんにちはimは、WHMを使用して専用サーバーでアカウントを作成する簡単なスクリプトを作成しようとしています。ここに簡単なコードがあります。

<?php

// your WHM username
$whm_user = 'root';

// your WHM password
$whm_pass = 'pass';

// your WHM hostname
$whm_host = '10.10.10.10';

// new account domain or subdomain name
$user_domain = 'example.com';

// new account username (8 characters or less)
$user_name = 'example';

// new account password
$user_pass = 'example1245';

// new account contact email
$user_email = 'user@example.net';

// new account plan (must be an existing WHM plan)
$user_plan = 'Gold';

// create the account
$site = "https://{$whm_user}:{$whm_pass}@{$whm_host}:2087/scripts/wwwacct";
$params = "?plan={$user_plan}";
$params .= "&domain={$user_domain}";
$params .= "&username={$user_name}";
$params .= "&password={$user_pass}";
$params .= "&contactemail={$user_email}";
$url = $site.$params; 
file_get_contents($url);
?>

これはエラーを返します

[function.file-get-contents]: failed to open stream: No error in C:\AppServ\www\cp\create-whm-account.php on line 35

それから私はCURLを使おうとしました

<?php

// your WHM username
$whm_user = 'root';

// your WHM password
$whm_pass = 'pass';

// your WHM hostname
$whm_host = '10.10.10.10';

// new account domain or subdomain name
$user_domain = 'example.com';

// new account username (8 characters or less)
$user_name = 'example';

// new account password
$user_pass = 'example1245';

// new account contact email
$user_email = 'user@example.net';

// new account plan (must be an existing WHM plan)
$user_plan = 'Gold';

// create the account
$site = "https://{$whm_user}:{$whm_pass}@{$whm_host}:2087/scripts/wwwacct";
$params = "?plan={$user_plan}";
$params .= "&domain={$user_domain}";
$params .= "&username={$user_name}";
$params .= "&password={$user_pass}";
$params .= "&contactemail={$user_email}";
$url = $site.$params; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch); 
curl_close($ch); 
?>

エラーを返さず、機能しません。これは別の関数内で機能するため、出力を返す必要はありません。結果を表示する必要はありません。バックグラウンドでアカウントを作成するだけです。

4

1 に答える 1

0

HTTPS URL をリクエストしているようです。追加の CURL フラグが必要になる場合があります。可能性が非常に高い:

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2); 

参照: PHP: HTTPS から HTML ページを取得するためのカール

于 2011-08-03T18:53:09.173 に答える