fsockopen() - Bitte kurz um hilfe!

d-Stench

Erfahrenes Mitglied
Habe folgenden Code:

Code:
<?
	$ReadXmlNashe = fsockopen ("www.nashe.de", 80, $errno, $errstr, 30);
	if($ReadXmlNashe)
	{
		echo "OK";
	}
	else
	{
		echo "ERR";
	}
?>

Wenn ich diesen Code ausführe passiert erstmal eine Zeit lang nichts. dann kommt "An internal server error occurred. Please try again later.". Wenn ich die erste Zeile "$ReadXmlNashe = fsockopen ("www.nashe.de", 80, $errno, $errstr, 30);" auskommentiere, bekomme ich ein "ERR" (was auch logisch ist) angezeigt.

Habe ich ein Denkfehler?

Muss in der php.ini etwas aktiviert werden, um fsockopen() ausführen zu dürfen?

Gruß
d-Stench
 
Ja man kann in der php.ini einstellen ob Befehle wie fsockopen() überhaupt funktionieren oder sie beschränken. Zusätzlich kann man beim Kompilieren auch einige Funktionen aus PHP draussen lassen, im schlimmsten Fall ist das bei Dir der Fall, oder aber der Hoster hat diese Funktionen aus Sicherheitsgründen eingeschränkt.
 
Was sagen denn die Log-Dateien des Webservers und PHPs? Denn solch ein Fehler wird gewöhnlich nur vom Webserver gemeldet.
 
Wie gesagt, ich bekomme folgende Fehlermeldung:

An internal server error occurred. Please try again later.

da diese php-Datei auf dem Server liegt, weis ich nicht so genau, ob ich an die LOG-Files ran komme.
 
Dann finde das doch mal heraus. Denn die Ursache des Fehlers ist dadurch besser eingrenzbar.
 
Kann man das der phpinfo() irgendwo entnehmen?

Ja. Am Configure Command erkennt man was einkompiliert wurde:
Code:
'./configure' '--with-apxs=/usr/local/apache/bin/apxs' '--with-xmlrpc' '--with-ldap' '--with-iconv' '--with-kerberos' '--with-pspell' '--with-imap' '--with-imap-ssl' '--with-gettext' '--with-xml' '--with-dom' '--with-dom-xslt' '--with-dom-exslt' '--enable-bcmath' '--enable-calendar' '--with-curl' '--with-swf=/usr/local/flash' '--enable-ftp' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr/X11R6' '--with-ttf' '--with-freetype-dir' '--with-gd' '--enable-gd-native-ttf' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-mcrypt' '--with-ming=../ming-0.2a' '--enable-magic-quotes' '--with-mysql=/usr' '--with-pear' '--enable-xslt' '--with-xslt-sablot=/usr' '--with-sablot-js' '--with-readline' '--enable-sockets' '--enable-track-vars' '--with-zlib' '--with-openssl' '--with-bz2' '--enable-dba' '--with-flatfile' '--with-db4' '--enable-dbase' '--enable-exif' '--enable-wddx' '--enable-trans-sid' '--enable-dio' '--enable-sysvsem' '--with-mhash' '--with-zip'

Registered PHP Streams
Code:
php, http, ftp, https, ftps, compress.bzip2, compress.zlib

Darf PHP HTTP(S), FTP ansteuern?
allow_url_fopen on/off

Sicherheitseinschränkungen
safe_mode on/off

Einschränkung der Pfade auf die PHP Zugriff hat
open_basedir

Um nur einiges zu nennen.
 
Habe also folgendes stehen:
Configure Command: './configure' '/usr/lib64/php4/share/config.site' '/usr/lib64/php4/etc/config.site'

allow_url_fopen: off
safe_mode: off
open_basedir: no value

Registered PHP Streams php, http, ftp, https, ftps, compress.bzip2, compress.zlib
 
Zuletzt bearbeitet:
Leider können wir nicht sehen ob PHP ohne allow_url_fopen kompiliert ist, da die Konfiguartionsstrings ausgelagert wurden (super....).

Selbst wenn
allow_url_fopen: off
sollte dein Script funktionieren oder zumindest eine Fehlermeldung ausgeben: could not open wrapper (oder so ähnlich).

Ich vermute das es nicht in PHP einkompiliert wurde.
Code:
--disable-url-fopen-wrapper
 
Irgendwie ist mir jetzt aufgefahlen, dass es seit Tagen auf keiner Seite von dem Provider (euserv) funktioniert.

Habe den Support angemailt.

Denn ich denke, dass es an dem Server liegt.

Ich danke Euch für Eure Hilfe.

Gruß
d-Stench
 
Zurück