如何在WHM插件中发出HTTP请求(POST,GET,DELETE,PUT)?

时间:2011-12-16 12:38:26

标签: php http cpanel whm whmcs

我正在尝试编写一个WHM插件(运行到WHM插件部分,以便它运行root和代理商,而不是cPanel)。 该脚本位于 / usr / local / cpanel / whostmgr / docroot / cgi ,并命名为 addon_httpcli.php ,以便您了解我在说什么。

问题是这个WHM环境有自己的PHP二进制文件,与大多数Web服务器不同,它似乎使用较少的模块/功能进行编译。这是我到现在为止所尝试的:

  • cURL (curl_init()无法识别,所以我猜他们没有启用cURL)
  • socket_create()和相关函数(函数调用但不发送自定义HTTP标头所以我敢打赌他们没有在某处启用某些内容......)
  • 作为一个简单的 file_get_contents(“http://www.google.com/”); 工作,我尝试将其与流上下文耦合以发送自定义标头和POST请求它导致无限的等待时间,所以我敢打赌他们可能也在这里禁用了一些东西......

简而言之,我一直坚持要做什么来解决这个问题并完成我的插件。 所以也许一个聪明的程序员在过去遇到过类似的噩梦,可以指出他/她的解决方案。

1 个答案:

答案 0 :(得分:1)

你可以使用HTTP_Request2 PEAR包。它非常好,支持所有HTTP方法。我想我称之为微创解决方案。

如果你想使用cURL,还有另一种方法(未经测试,但它应该有效):

修改/var/cpanel/easy/apache/profile/makecpphp.profile.yaml并搜索其中包含“Curl”的条目。只需将“0”更改为“1”即可。保存文件后,您应该能够使用/scripts/makecpphp

重新编译cPanel PHP