Hi all,

ik zit te stoeien met de nieuwe SLES server.
php curl werkt naar behoren vanaf commandline, echter via browser blijft ie hangen en gaat in timeout zonder foutmelding of resultaat

Ik weet niet goed hoe ik dit kan debuggen?

ahv:
ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'

Kan ik vertellen dat apache als 'wwwrun' draait.
Nadat ik
sudo -u wwwrun -s
heb gedaan en nogmaals de script vanaf CLI draai, zie ik idd dat wwwrun op een of andere reden curl niet wil draaien, gewoon timeout zoals de browser al vertoonde.


Zelf na de ownership aan te passen naar: wwwrun:www en daarna zelfs nog chmod 7777 werkt het nog steeds niet.

Iemand enig idee?
Dan kun je inderdaad te maken hebben met een managed firewall die buiten je instantie geplaatst is maar wel kan filteren op user. Ze maken het daardoor niet makkelijker om problemen te pinpointen. Teruglezend vind ik de uptime garantie ook niet erg bijzonder, helemaal gezien het om een vmware instantie gaat die je eenvoudig naar andere hardware kan migreren. Maar goed, dat is gewoon een mening die verder niet van toepassing is op het topic zelf.
Het lijkt erop alsof apache2 geen 'permissions' heeft om curl uit te voeren naar externe sites..
vanaf mijn eigen shell op mijn username, voert het script gewoon uit zoals het zou moeten doen ......

Ik heb /etc/apache2/uid.conf nog aangepast, naar mijn eigen username en group.

Helaas heeft het geen effect gehad
Maar je hebt na die wijziging wel Apache even opnieuw aangeslingerd?
Hi Arien,

ik heb idd sudo /etc/init.d/apache2 stop
en
/etc/init.d/apache2 start

gedaan.
test.php

<?php
error_reporting(E_ALL);
$ch = curl_init("http://google.com");    // initialize curl handle
url_setopt($curlhandle, CURLOPT_VERBOSE, true);
    $data = curl_exec($ch);
    print($data);
?>


vanaf shell : php test.php
geeft mij terug:

* About to connect() to proxy XXX.XXX.XXX.XXX port 80 (#0)
*   Trying XXX.XXX.XXX.XXX... * connected
* Connected to 1XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX) port 80 (#0)
[b]* Server auth using Basic with user 'DennisWhoCares'[/b]
> GET http://google.com HTTP/1.1
Authorization: Basic *************
Host: google.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-type: application/json

< HTTP/1.1 302 Found
< Server: Oracle-iPlanet-Web-Proxy-Server/4.0
< Content-length: 258
< Content-type: text/html; charset=UTF-8
< Cache-control: private
< Location: http://www.google.de/?gfe_rd=cr&ei=fOfPWNyaFtT08Afk65KQDg
< Date: Mon, 20 Mar 2017 14:30:20 GMT
< Via: 1.1 proxy-S109155-proxy
< Proxy-agent: Oracle-iPlanet-Web-Proxy-Server/4.0
< 
* Connection #0 to host XXX.XXX.XXX.XXX left intact
0<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.de/?gfe_rd=cr&amp;ei=fOfPWNyaFtT08Afk65KQDg">here</A>.
</BODY></HTML>
* Closing connection #0


Op de browser krijg ik alleen maar error 7.

Ik zie dit nu voor t eerst en volgens mij moet ik dus proxy auth toevoegen aan curl ....

Hoe kom ik achter dit wachtwoord? Of is dit mijn eigen wachtwoord van de shell?

[size=xsmall]Toevoeging op 20/03/2017 15:41:35:[/size]

Yes het werkt nou!

curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($curl, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($curl, CURLOPT_PROXY, $proxy_ip);
curl_setopt($curl, CURLOPT_PROXYUSERPWD, $userPass); //$userpass = 'username:password';


SOLVED! Wauw wat een gedoe.. Iedereen bedankt voor de reacties en tips

Reageren