产品服务AMH 免费服务器主机面板SSL证书 免费SSL证书申请 担保单 免费安全、零费率交易平台编程助手免费智能写代码、翻译AMYSQL 免费MySQL管理工具

AMH 社区首页

 AMH社区 - 开放自由有价值的社区

[求助帖] amh面板api模块 AMAPI-1.1 php调用实例

admin
创始人
13037.76 价值分

admin 发表于 2013-02-23 18:41:36
2025-12-09更新使用说明。
使用amapi,用api可以实现amh面板上的所有功能。
下面例子可做参考:


<?php
// amapi提交函数
function amapi($url, $data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, "PHPSESSID=" . md5($amapi_pass));
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
Return array('result' => $result, 'info' => $info);
}


$amh_ip = 'http://11.22.33.44'; // 您的面板地址
$amh_port = '8888'; // 面板端口
$amapi_pass = 'abc.....defg'; // amapi的密钥

// 1、仅简单运行amh命令 -------------------------------------------------
// 面板上所有软件的命令,可以看下『任务计划』的命令说明获取,如nginx重启等。
// 面板中软件操作后『面板日志』也可以看到相应的amh命令。

$url = "{$amh_ip}:{$amh_port}/?c=amapi&a=call";
$amh_cmd = 'amh info'; // 需要执行的amh命令

$post_data = "amapi_pass=$amapi_pass&amh_cmd=" . base64_encode($amh_cmd);
$data = amapi($url, $post_data);
print_r($data);



// 2、其它非命令的提交 -------------------------------------------------
// 下面以更新网站SSL证书内容举例

// A) 先登录面板
$url = "{$amh_ip}:{$amh_port}/?c=amapi&a=login";
$post_data = "amapi_pass=$amapi_pass";
$data = amapi($url, $post_data);
print_r($data);


// B) 开始提交数据
// 以下提交的URL及POST的数据与使用面板时一样
// 使用面板时也可使用浏览器调试查看post的具体内容
// 下面是更新某ssl内容post的数据举例

$url = $data['info']['redirect_url'] . '&c=amssl&a=admin_amssl&envs_name=lnmp85&amssl_name=amh.sh-ssl'; // 更改成实际的环境名与证书名
$post_data = array();
$post_data['submit_key_crt'] = 'y';

// 证书key
$post_data['key_input1'] = 'key_input1';
$post_data['key_content1'] = <<<EOT
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDsMQcOq8NTG6zJ
....
pM7OoRnDt+ExZS3KP8VOvnwrcPmO1eNGiziMXWuiIz7BFfwuO+LsUBkXatkTltRZ
xgbcYy2/jdfZB4izHl+pkQ==
-----END PRIVATE KEY-----
EOT;

// 证书crt
$post_data['crt_input1'] = 'crt_input1';
$post_data['crt_content1'] = <<<EOT
-----BEGIN CERTIFICATE-----
MIIDkzCCAnsCFC48TqJ8keHSWgnRjWf5yRHvwpdKMA0GCSqGSIb3DQEBCwUAMIGF
...
FONoMp4b3a3KyOka0HSruYeV9yEX5Z+ODUYsGpbKxuDpwoeZXa6hiWWF0cYk+nit
iVEc8PZRQQ==
-----END CERTIFICATE-----
EOT;


$data = amapi($url, http_build_query($post_data));
print_r($data);
  点赞,加油! (39.86分)
2013-02-23 18:41:36 1

AMH官方号 2011~2021 (10周年)

nginx
银牌会员
1752.00 价值分

:victory:
  支持 (0分)  反对 (0分)
回复  2013-02-24 23:25:12 2

ganchu
铁牌会员
1.00 价值分

想在自己网站后台调用,这个只能执行amh的命令,无法快速建库,听说可以sql创,但是不知道如何实现,然后通过ssh创的ftp用户,好像只能根目录,不可以创建以域名为目录的。我想就是在自己后台,填入域名后,用户名密码后,一键生成ftp,mysql和绑定域名。可以提供下思路或者方法吗
  支持 (0分)  反对 (0分)
回复  2016-08-23 18:01:29 3

baitongda
铝牌会员
212.61 价值分

新版的适用吗?我在自已网站后台提供一个面板。可以续费自已的主机!
  支持 (0分)  反对 (0分)
回复  2017-03-22 23:35:04 4

baitongda
铝牌会员
212.61 价值分

我也想啊!最好有一个网注册一个用户。然后在线付费成功能开通一个主机。
可以开通很多个。
  支持 (2.61分)  反对 (0分)
回复  2017-03-22 23:48:52 5

WordPress
铁牌会员
4.00 价值分

厉害了。有了API就活了
  支持 (0分)  反对 (0分)
回复  2017-03-23 12:56:23 6
 1  (总1页)
AMH社区列表
用户服务中心