Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
fsockopen()
18.02.2012, 13:17
Beitrag #1
Question fsockopen()
Hey Alle Zusammen,
Ich hab auf meinem root Server Apache und PHP neu installiert, mit einer Standardt installation über apt-get. Seit diesem Zeitpunkt funktioniert die funktion fsockopen() nicht mehr.

Bei dem folgendem script
PHP-Code:
<?php
error_reporting
(E_ALL);
$fp = fsockopen("localhost", 80, $errno, $errstr, 2);
if (!
$fp)
{
echo
"Fehler: $errstr ($errno)<br />\n";
}
?>
kommt folgender fehler (egal welcher Host angegeben ist):
Zitat:Fehler: Connection timed out (110)

Bei der überprüfung ob die Protokolle auch unterstützt werden
PHP-Code:
<?php
error_reporting
(E_ALL);
print_r(stream_get_transports());
?>
kommt folgendes raus:
Code:
Array
(
[0] => tcp
[1] => udp
[2] => unix
[3] => udg
[4] => ssl
[5] => sslv3
[6] => sslv2
[7] => tls
)

Wo ist also mein Fehler?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 14:16
Beitrag #2
RE: fsockopen()
Hallo,

also wenn ich File oder so gaben will nutzte ich immer file_get_contents().
Safe_mode könnte ein problem machen.

Wenn du wget insatlliert hast
wget http://localhost/

bzw. könnte auch sein das irgendwie ein 404 oder so sendet oder anderen Fehler und abbricht.

Entwickler-Deutsch - Wird später dokumentiert und aufbereitet.
Beteilige dich an der Community-Aktion

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 15:19
Beitrag #3
RE: fsockopen()
das mag zwar sein, aber sie haben vorher funktioniert und dann können sie das jetzt auch.

Ich benutze außerdem PHP Verison 5.3.3-7+squeeze8 (also noch nicht 5.4 wo Safe_mode entfernt wurde)

in meiner PHP config steht:
Code:
; Safe Mode
; http://php.net/safe-mode
safe_mode = Off

; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
; http://php.net/safe-mode-gid
safe_mode_gid = Off

Über das sctipt
PHP-Code:
<?php
error_reporting
(E_ALL);
echo
ini_get('safe_mode');
?>
bekomme ich nichts zurück gegeben

was soll ich den mit wget?
"wget http://localhost/" funktioniert
auch "telnet locahost 3306" oder ähnliches funktioniert

ich hab verbindungen zu verschiedenen ports und Programmen aufgebaut, alle ohne erfolg.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 16:38 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2012 16:41 von xaver.)
Beitrag #4
RE: fsockopen()
schau mal nach display_errors -> nicht das du E_ALL hast und auch alles in Logs wandert nur display_errors Off ist.

Getestet bei mir und ging:
PHP-Code:
<?php
error_reporting
(E_ALL);
$fp = fsockopen("www.sam-city.eu", 80, $errno, $errstr, 2);
if (!
$fp)
{
echo
"Fehler: $errstr ($errno)<br />\n";
}
?>

Entwickler-Deutsch - Wird später dokumentiert und aufbereitet.
Beteilige dich an der Community-Aktion

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 17:04
Beitrag #5
RE: fsockopen()
display_errors war auf Off -_-da kann ich natürlich lange warten -_-

also, folgendes script
PHP-Code:
<?php
error_reporting
(E_ALL);
function
fsock_test($host)
{
$fp = fsockopen($host, 80, $errno, $errstr, 2);
if (!
$fp)
echo
"$host: $errstr ($errno)<br />\n";
else
echo
"$host: Kein Fehler!<br />\n";
}

fsock_test("127.0.0.1");
fsock_test("localhost");
fsock_test("www.mein_host.de");
fsock_test("mein_host.de");
fsock_test("www.google.de");
fsock_test("google.de");
?>
gibt zurück:
Zitat:Warning: fsockopen(): unable to connect to 127.0.0.1:80 (Connection timed out) in /var/www/www.mein_host.de/info.php on line 5 127.0.0.1: Connection timed out (110)
Warning: fsockopen(): unable to connect to localhost:80 (Connection timed out) in /var/www/www.mein_host.de/info.php on line 5 localhost: Connection timed out (110)
http://www.mein_host.de: Kein Fehler!
mein_host.de: Kein Fehler!
http://www.google.de: Kein Fehler!
google.de: Kein Fehler!

jetzt bin ich erst recht verwirrt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 17:23
Beitrag #6
RE: fsockopen()
Also rufe mal mit einem Browser und einem Tool wie firebug deinen localhost also Server auf.
-> vlt sendet der irgend ein Statuscode, der nicht passt.

Entwickler-Deutsch - Wird später dokumentiert und aufbereitet.
Beteilige dich an der Community-Aktion

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 18:31
Beitrag #7
RE: fsockopen()
nein, kein fehler code kein garnix.
Die verbindung funktioniert, sofern nicht 127.0.0.1 oder localhost angegeben ist
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 18:36
Beitrag #8
RE: fsockopen()
Hallo,

mit der Hosts Datei ist alles in Ordnung oder?
Mal eigene IP versucht also nicht localhost sondern 65.45.8.4.5 oder wenn aktiv ipv6 [::1]?

gruß
xaver

Entwickler-Deutsch - Wird später dokumentiert und aufbereitet.
Beteilige dich an der Community-Aktion

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 18:48
Beitrag #9
RE: fsockopen()
die funktioniert auch, ich hatte gedacht das geht aus der vorherigen aussage hervor.

Es funktioniert jede gültige eingabe, mit ausnahme von localhost und 127.0.0.1

die /etc/hosts ist seit 2,5 Jahren die gleiche und unverändert

Code:
# nameserver config
# IPv4
127.0.0.1 localhost
#
# IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2012, 18:58
Beitrag #10
RE: fsockopen()
Also aktuell gehen mir Ideen aus.
ping wird vermutlich laufen
traceroute wird bei dir landen
Da in Host Datei steht kommt es gar nicht zum DNS.... (php nimmt immer nur ersten DNS Server, kein Fallback)
wget geht also geht es normal lokal.
auf den hostname, was macht er da? vermutlich auch nichts

Wüsste kein security setting mehr das so was macht.

Hab meine Hosts immer nahc dem Schema:
127.0.0.1 localhost.localdomain localhost
62.113.. srv.test.tdl srv

die funktioniert auch, ich hatte gedacht das geht aus der vorherigen aussage hervor.
-> ich gehe da immer auf Nummer sicher. Hab da schon viel erlebt.

Entwickler-Deutsch - Wird später dokumentiert und aufbereitet.
Beteilige dich an der Community-Aktion

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  fsockopen(); funktioniert nicht Genion 3 991 07.01.2010 17:48
Letzter Beitrag: Genion

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste