Ik heb net even alle stukken code genomen in een apart test scriptje gezet:
Code:
<?php
//***************************************************
$HOST='localhost';
$PATH='enterprise/control/agent.php';
$LOGIN='PLESKUSERNAME';
$PASSWD='PLESKPSW';
//***************************************************
$xmlPacket2=createXML_DomainADD("test.be","b6c65563-f7da-4d07-bca3-330c64674331","test_be","mySeCret","X1");
//$xmlPacket2=createXML_DomainADD($domeinen[0],$kl_guid,strtolower($ftp_username),$ftp_password,$pakket);
echo($xmlPacket2);
$curl2 = sendCommand($xmlPacket2,$HOST,$PATH,$LOGIN,$PASSWD);
$response = parseCurl($curl2);
print_r("<br />------RESPONSE:-----<br />");
print_r($response);
//*******************************************************
function createXML_CustomerADD($naam,$bedrijf,$email,$paswoord,$tel,$email,$adres,$gemeente,$postcode,$land,$username){
$data =<<<EOF
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<packet version="1.6.3.1">
<customer>
<add>
<gen_info>
<cname>$bedrijf</cname>
<pname>$naam</pname>
<login>$username</login>
<passwd>$paswoord</passwd>
<status>0</status>
<phone>$tel</phone>
<email>$email</email>
<address>$adres</address>
<city>$gemeente</city>
<pcode>$postcode</pcode>
<country>$land</country>
</gen_info>
</add>
</customer>
</packet>
EOF;
return $data;
}
function createXML_DomainADD($domein,$klant_guid,$ftp_username,$ftp_password,$service_plan){
$data =<<<EOF
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<packet version="1.6.3.1">
<webspace>
<add>
<gen_setup>
<name>$domein</name>
<owner-guid>$klant_guid</owner-guid>
<htype>vrt_hst</htype>
<ip_address>A.B.C.D</ip_address>
<status>0</status>
</gen_setup>
<hosting>
<vrt_hst>
<property>
<name>ftp_login</name>
<value>$ftp_username</value>
</property>
<property>
<name>ftp_password</name>
<value>$ftp_password</value>
</property>
<ip_address>A.B.C.D</ip_address>
</vrt_hst>
</hosting>
<plan-name>$service_plan</plan-name>
</add>
</webspace>
</packet>
EOF;
return $data;
}
function checkResponse_DOMAIN(SimpleXMLElement $response){
$resultNode=$response->webspace->add->result;
if('error'== (string)$resultNode->status){
return (int)$resultNode->errcode;
}else{
$output[0]=$resultNode->guid;
$output[1]=$resultNode->id;
return $output;
}
}
function sendCommand($xmlPacket,$host,$path,$login,$passwd)
{
$url = "https://" . $host . ":8443". "/" . $path;
$headers = array(
"HTTP_AUTH_LOGIN: " . $login,
"HTTP_AUTH_PASSWD: " . $passwd,
"HTTP_PRETTY_PRINT: TRUE",
"Content-Type: text/xml",
);
// Initalize the curl engine
$ch = curl_init();
// Set the curl options
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch,CURLOPT_POSTFIELDS,$xmlPacket);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,60);
curl_setopt($ch,CURLOPT_VERBOSE,1);
return $ch;
}
//Function for parsing the CURL response..
function parseCurl($ch){
$result = curl_exec($ch);
$info=curl_getinfo($ch);
echo("<br />****CURL ERROR***********<br />");
print_r(curl_error($ch));
echo("<br />****CURL HTTP INFO ********<br />");
echo("HTTP STATUS CODE: ".$info['http_code']);
if($info['http_code']!=200){
return false;
}else{
$xml = new SimpleXMLElement($result);
if(!is_a($xml,'SimpleXMLElement')){
return false;
}else{
return $xml;
}
}
curl_close($ch);
}
?>
Als ik dit op mijn lokale PHP/APACHE/MYSQL server draai werkt dit perfect, draai ik het rechtstreeks op mijn pleskserver dan krijg ik het hierboven beschreven fenomeen.
in /var/log/httpd/error_log zie ik ook telkens na het uitvoeren van de request een "caught SIGTERM,shutting down":
Code:
[Sun May 13 10:39:56 2012] [notice] Apache/2.2.15 (Unix) DAV/2 mod_fcgid/2.3.6 mod_python/3.3.1 Python/2.6.6 mod_ssl/2.2.15 OpenSSL/1.0.0-fips mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
* About to connect() to SERVER port 8443 (#0)
* Trying A.B.C.D... * connected
* Connected to SERVER (A.B.C.D) port 8443 (#0)
* Initializing NSS with certpath: /etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_RSA_WITH_AES_256_CBC_SHA
* Server certificate:
* subject: CN=web1.xenius.be,OU=Domain Control Validated,O=SERVER
* start date: May 10 16:46:21 2012 GMT
* expire date: May 10 16:46:21 2013 GMT
* common name: SERVER
* issuer: serialNumber=07969287,CN=Go Daddy Secure Certification Authority,OU=http://certificates.godaddy.com/repository,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
> POST /enterprise/control/agent.php HTTP/1.1
Host: SERVER:8443
Accept: */*
HTTP_AUTH_LOGIN: PLESKUSERNAME
HTTP_AUTH_PASSWD: PLESKPASSWORD
HTTP_PRETTY_PRINT: TRUE
Content-Type: text/xml
Content-Length: 639
[Sun May 13 10:47:21 2012] [notice] caught SIGTERM, shutting down
Plesk information:
OS Linux 2.6.32-220.4.1.el6.x86_64
Panel version 10.4.4 Update #30