我想登录在cPanel通过Php脚本,并需要修改一些文件从文件管理器。
我有cPanel用户名和密码,但文件修改,我想通过PHP脚本没有图形。
我将使用file_put_content从文件管理器修改文件。
请参见以下代码:

发布于 2017-06-24 21:20:51
是的,有一种方法,CPanel有一个可以使用的应用程序接口。来自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.发布于 2017-08-31 16:12:40
实现此功能所需的元素包括-
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后,您可以直接在新的选项卡或相同的选项卡中打开此URL,并且您必须登录。它生成与cpanel登录类似的会话,并为您提供所有特定的cpanel权限。
请记住,它只使用给定的特定帐户登录,而不是服务器内的所有cpanel帐户访问。
https://stackoverflow.com/questions/44733708
复制相似问题