2017-05-04 1 views
0

ich ein Problem mit PhP habe, wo es aus Zeiten, als etwas zu tun, wieWindows-PHP file_get_contents 504 auf localhost gibt

file_get_contents("http://127.0.0.1/test.php") 

ich auch ROTATION und Sachen ausprobiert habe mit, es funktioniert gut, wenn ich bin versuchen, Daten von woanders zu empfangen, aber wenn es lokale Host ist bekomme ich eine 504.

ich bin auf Windows 10 x64 Php-Version ist 7.0.18 nginx Version 1.8.0

Bisher ist I Habe Einstellungsberechtigungen für alle Dire versucht Ich habe sogar verschiedene User-Agents ausprobiert, ich habe sogar versucht, dieselbe Anfrage zu replizieren wie mein Chrome im Browser, aber ich habe kein Glück.

Ich bekomme diesen Nginx Fehler in error.log.

2017/05/04 10:26:33 [error] 7732#5384: *5 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while connecting to upstream, client: 127.0.0.1, server: _, request: "GET /test.php HTTP/1.0", upstream: "fastcgi://[::1]:9123", host: "127.0.0.1" 

Dies ist, was ich von meinem access.log bekomme.

127.0.0.1 - - [04/May/2017:10:25:33 +0200] "GET /indexsss.php HTTP/1.1" 504 584 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36" 
127.0.0.1 - - [04/May/2017:10:25:33 +0200] "GET /favicon.ico HTTP/1.1" 404 570 "http://127.0.0.1/indexsss.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36" 
127.0.0.1 - - [04/May/2017:10:26:33 +0200] "GET /test.php HTTP/1.0" 504 182 "-" "PHP" 

Dies ist die PHP-Fehler i von php_errors.log bekommen

[04-May-2017 10:26:33 Europe/Copenhagen] PHP Warning: file_get_contents(http://127.0.0.1/test.php): failed to open stream: HTTP request failed! in C:\Servers\nginx-1.8.0\html\local\indexsss.php on line 208 
[04-May-2017 10:26:33 Europe/Copenhagen] PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:\Servers\nginx-1.8.0\html\local\indexsss.php on line 208 

http://127.0.0.1/test.php funktioniert prima, wenn Sie den Browser darauf zugreifen. Ich bin also ziemlich ahnungslos, ich hoffe, dass mir jemand helfen kann.

indexsss.php enthält viele kommentierte Code (Daher die Zeilennummer der Ausführung) Der einzige unkommentierte Code ist dies.

$test = file_get_contents("http://127.0.0.1/test.php");

test.php

"Hello, this is a test"

Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

Antwort

0

Setzen Sie maximum_execution_time (standardmäßig 30 Sekunden) auf einen größeren Wert - z. 60 Sekunden von Ihrer php.ini-Datei. Oder optimieren Sie besser Ihr indexsss.php Skript - wie es diesen Fehler verursacht.

UPDATE:

<?php 
$options = ['http'=>[ 
    'method'=>"GET", 
    'header'=>"Accept-language: dk\r\n" 
    ] 
]; 

$ctx = stream_context_create($options); 

$test = file_get_contents('http://127.0.0.1/test.php', false, $ctx); 
?> 

http://php.net/manual/en/info.configuration.php#ini.max-execution-time

http://php.net/manual/en/function.stream-context-create.php

+0

Hallo, indexxx ist nicht das Problem mit diesem. Datei enthält nur eine Menge Code, der auskommentiert ist, die einzige Zeile, die nicht kommentiert ist '$ test = file_get_contents (" http://127.0.0.1/test.php ");' Und alles test.php tut ist Ausgabe einer Zeichenfolge, also nichts kompliziert. Sollte nicht länger als 30 Sekunden dauern. –

+0

was ist drin test.php dann? – marmeladze

+0

Ich habe gerade die Zeile oben gepostet. '" Hallo, das ist ein Test "' –

0

Haben Sie eine Debug-konfiguriert (xdebug F. E.). Wenn ja, müssen Sie es konfigurieren, um simultane Threads zu unterstützen.

+0

Nichts dergleichen, ich habe einen Ioncube-Lader, aber in diesem Fall würde ich ihn nicht verwenden. –