php curl - SLES11

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Dennis WhoCares

Dennis WhoCares

20/03/2017 09:27:13
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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?
Gewijzigd op 20/03/2017 10:34:41 door Dennis WhoCares
 
PHP hulp

PHP hulp

23/12/2024 19:02:16
 
Ward van der Put
Moderator

Ward van der Put

20/03/2017 10:54:43
Quote Anchor link
Hoe roep je cURL rechtstreeks aan vanuit een webbrowser?
Het lijkt mij dat je vanuit een browser namelijk altijd langs een HTTP-daemon moet.
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 11:03:31
Quote Anchor link
Hi Ward,

nee ik bedoel het php script, dat curl_* commands bevat :)
 
Ben van Velzen

Ben van Velzen

20/03/2017 11:40:25
Quote Anchor link
Heb je toevallig uitgaande iptables regels staan die gebruik vanaf deze user verbieden?
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 11:51:38
Quote Anchor link
wist nieteens dat ik iptable rules per user kon instellen?
krijg ik dir te zien met iptables -L ?
anyways firewalld is uitgeschakeld, zal zo ff kijken ff lunchpauze
 
Ben van Velzen

Ben van Velzen

20/03/2017 12:10:55
Quote Anchor link
Je kan in je regels users opnemen, niet zozeer per user instellen, maar het effect is hetzelfde.
Je kan dit inderdaad met iptables -L bekijken, en op een SLES systeem staan deze regels normaliter ook in iets als /etc/sysconfig/iptables.
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 12:22:04
Quote Anchor link
Hi Ben,

iptables is geheel leeg.
Ook de SuSEfirewall2 is uitgeschakeld.

Heb gelezen dat de CLI php anders is dan de apache php.
Curl is enabled:
cURL support enabled

Curl error number is 7, (couldn't connect)

disable_functions
disable_classes

zijn allebij leeg in php.ini
Gewijzigd op 20/03/2017 12:23:50 door Dennis WhoCares
 
- Ariën  -
Beheerder

- Ariën -

20/03/2017 12:32:28
Quote Anchor link
Die configuratieopties zijn ook niet heel gebruikelijk in PHP. En zullen cURL niet in de weg staan.

Kan je wel iets cURL'en op je eigen 'localhost'?
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 12:34:45
Quote Anchor link
Ik ben bang dat ik de DC weer moet contacteren om SOURCE <my server> TARGET <ANY> INTERFACE <ANY> PORT 80,443 moet gaan toestaan ...
pfffft wordt zo moe van die gasten

@Arien, inderdaad kan ik localhost wel met curl oppikken (vanaf de apache user)
Ook de 'frontend' server. Dus ben bang dat er geen probleem met curl of de apache user is. :)

Toevoeging op 20/03/2017 12:55:11:

Maar dan nog vind ik het raar, vanaf CLI werkt het, maar via apache niet meer..
(naar de host waar ik heen wil dan)

Toevoeging op 20/03/2017 13:31:31:

Krijg trouwens in CLI wel een 'warning'
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
PHP Warning:  Unknown: open(/var/lib/php5/sess_p0vv445dbjg0a3g0iavdk0k2rfp5jiknh5t9j00nh1srb83j34d0, O_RDWR) failed: Permission denied (13) in Unknown on line 0
PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0
Gewijzigd op 20/03/2017 12:37:28 door Dennis WhoCares
 
Ben van Velzen

Ben van Velzen

20/03/2017 13:42:51
Quote Anchor link
Het enige dat ik zou kunnen bedenken is dat je stiekem op een virtuozzo achtige omgeving zit, maar dat zou je geweten hebben gok ik. Je session save path is heeft niet voldoende rechten om je session files op te slaan.
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 13:58:15
Quote Anchor link
Hi Ben,

het is een VMware instance, idd
de OS is geleverd en valt onder SLA van de DCde rest is aan ons zelf.
 
Ben van Velzen

Ben van Velzen

20/03/2017 14:06:26
Quote Anchor link
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.
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 14:34:10
Quote Anchor link
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
 
- Ariën  -
Beheerder

- Ariën -

20/03/2017 14:36:17
Quote Anchor link
Maar je hebt na die wijziging wel Apache even opnieuw aangeslingerd?
 
Dennis WhoCares

Dennis WhoCares

20/03/2017 14:37:18
Quote Anchor link
Hi Arien,

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

gedaan.
test.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
* 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?

Toevoeging op 20/03/2017 15:41:35:

Yes het werkt nou!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
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
Gewijzigd op 20/03/2017 15:34:49 door Dennis WhoCares
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.