I have written an application in PHP in a virtual machine using EASY PHP (I know I shouldn't use Windows but Linux instead :)). Now I have moved my program to a linux real server (in fact, this is my synology diskstation) and nothing is working anymore. I did some debugging and it seems I don't get anything back from the curl function.
In my windows server, the curl version was 7.21 and now on the synology, the version is 7.26-DEV. Maybe it is because I am using the DEV version?
Here is a part of the code, I am using very basic curl so I don't know if I need to do something to activate curl. When I do a phpinfo on my linux server, I can see curl support enabled.
Code:'
$ch = curl_init();
if ($debug == 1)
{
curl_setopt($ch, CURLOPT_VERBOSE, 1);
}
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_request);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, './cookie/cookie.txt');
curl_setopt($ch, CURLOPT_URL,$ihcip."ws/AuthenticationService");
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
if (preg_match('`^https://`i', $ihcip))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
if ($debug == 1) {
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'dbg_curl_data');
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'dbg_curl_data');
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
}
$result = curl_exec($ch);
if ($debug == 1)
{
echo '<fieldset><legend>request headers</legend> <pre>', htmlspecialchars(curl_getinfo($ch, CURLINFO_HEADER_OUT)), '</pre> </fieldset>';
echo '<fieldset><legend>xml request</legend> <pre>', htmlspecialchars($xml_request), '</pre> </fieldset>';
echo '<fieldset><legend>response</legend> <pre>', htmlspecialchars(dbg_curl_data(null)), '</pre> </fieldset>';
}
'