CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
28.04.2008, 10:59:13
|
Anfänger
|
|
Registriert seit: Apr 2008
Beiträge: 7
|
|
Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
Hey!
Ich habe ein Script, welches die gamespy gameserver-liste abfragen soll:
http://rhonkar.kilu.de/gsquery.rar
Leider funktioniert dieses auf keinem von drei von mir getesteten webhostern. Lokal mit XAMPP funktioniert es aber. Es wird eine TCP Verbindung aufgebaut, jedoch ist es nicht so, dass bei den webhostern nichts empfangen wird, sondern anscheinend einfach das Falsche! Wie kann das sein?
Hier seht ihr was ich meine:
http://rhonkar.kilu.de/test/index2.php
Eigentlich sollten alle Ports "15425" sein, sind aber nur wirre Zahlen und die IP's stimmen auch alle nicht! Wie kann das sein?
Habe sämtliche webhoster php-settings auf meinen XAMPP übernommen, dort geht es trotzdem ohne Probleme...
Ich weiß echt nicht mehr weiter, das Script benutzt doch nur fsockopen(), fwrite() und fread() und ansonsten nur massig Bitoperatoren.
Woran könnte es liegen, dass nur bei mir lokal die richtigen Adressen angezeigt werden?
Danke!
MfG
Geändert von Atako (28.04.2008 um 11:02:43 Uhr)
|
28.04.2008, 11:12:08
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP setting
Zitat:
Notice: Uninitialized string offset: 6 in /data/apache/users/kilu.de/rhonkar/www/test/uberconteneur.php on line 48
|
Versuche es mal mit
PHP-Code:
public function byteOffsetExists($i){return $i < strlen($this->str);}
public function getByte($i) {
if (strlen($str)<=$i) {
throw new Exception("element[$i] not available. Valid range [0..".(strlen($this->str)-1)."]");
}
return ord($this->str[$i]);
}
public function setByte($i,$a){$this->str[$i] = chr($a);}
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
28.04.2008, 11:26:03
|
Anfänger
|
|
Registriert seit: Apr 2008
Beiträge: 7
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
Danke!
Aber...
Code:
Fatal error: Uncaught exception 'Exception' with message 'element[6] not available. Valid range [0..5]' in /data/apache/users/kilu.de/rhonkar/www/test/uberconteneur.php:50 Stack trace: #0 /data/apache/users/kilu.de/rhonkar/www/test/uberconteneur.php(114): UberString->getByte(6) #1 /data/apache/users/kilu.de/rhonkar/www/test/enctype2.php(11): BytePtr->offsetGet(6) #2 /data/apache/users/kilu.de/rhonkar/www/test/index2.php(29): enctype2_decoder(Object(BytePtr), Object(BytePtr), 701) #3 {main} thrown in /data/apache/users/kilu.de/rhonkar/www/test/uberconteneur.php on line 50
Nachdem ich es so abgeändert habe:
Code:
public function getByte($i) {
if (strlen($this->str)<=$i) {
throw new Exception("element[$i] not available. Valid range [0..".(strlen($this->str)-1)."]");
}
return ord($this->str[$i]);
}
public function setByte($i,$a){$this->str[$i] = chr($a);}
Naja an dem wirds aber auch nicht liegen, oder? Es funktioniert ja lokal...
MfG
|
28.04.2008, 11:34:02
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
"Oh, unsere Fehlerkontrolle zeigt einen Fehler an. Lass uns die Fehlerkontrolle kaputt machen."
Der Code, so wie ich ihn geschrieben habe, hat seinen Sinn. Schau Dir die Meldung doch bitte mal genau an.
Zitat:
element[6] not available. Valid range [0..5]
|
Dein Skript versucht auf ein Zeichen zuzugreifen, das es nicht gibt.
Als einfaches Beispiel:
PHP-Code:
$str = 'abcdef'; for($i=0; $i<7; $i++) { echo $i,'->', $str[$i], ' '; }
Zitat:
0->a 1->b 2->c 3->d 4->e 5->f 6->
Notice: Uninitialized string offset: 6
|
Zu der Exception bekommst Du den Call-Stack angezeigt. Damit kannst Du nachschauen, welche Stelle im Code auf das nicht existierende Zeichen zugreifen will.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Geändert von defabricator (28.04.2008 um 11:36:03 Uhr)
|
28.04.2008, 11:48:41
|
Anfänger
|
|
Registriert seit: Apr 2008
Beiträge: 7
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
:)
Jo danke, aber funktioniert leider immer noch nicht.
Fehler ist weg, immernoch verschiedenste Werte, nur nicht die Richtigen :(
enctype.2php
Code:
// for($i = 0; $key[$i]; $i++)
for($i = 0; $i < 6; $i++)
$datap[$i] = $datap[$i] ^ $key[$i];
Wiegesagt, lokal funktioniert es ja... Also wird es an diesem Code wohl nicht gelegen haben.
MfG
Geändert von Atako (28.04.2008 um 11:51:46 Uhr)
|
28.04.2008, 12:05:49
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP setting
Zitat:
Zitat von Atako
Wiegesagt, lokal funktioniert es ja... Also wird es an diesem Code wohl nicht gelegen haben.
|
Hast Du denn lokal auch die Warnung
Zitat:
Notice: Uninitialized string offset: 6 in .../uberconteneur.php on line 48
|
bekommen?
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
28.04.2008, 13:07:36
|
Anfänger
|
|
Registriert seit: Apr 2008
Beiträge: 7
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
Ja, habs gerade nochmals probiert. Die Notice: erscheint, trotzdem stimmen lokal die Adressen.
MfG
|
28.04.2008, 13:34:21
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
Dann vielleicht mal
PHP-Code:
<?php echo "<pre>\n"; foreach(array('PHP_VERSION', 'PHP_OS', 'PHP_INT_MAX','PHP_INT_SIZE') as $c) { echo $c,'=', constant($c), "\n"; } echo '+1 -> ', (int)(PHP_INT_MAX+1), "\n"; echo '- -> ', (int)(-PHP_INT_MAX), "\n"; echo '-1 -> ', (int)(-PHP_INT_MAX-1), "\n";
foreach(array('L','N','V') as $f) { echo $f, ' -> ', pack($f, 0x61626364), "\n"; } echo '<pre>';
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
28.04.2008, 13:46:34
|
Anfänger
|
|
Registriert seit: Apr 2008
Beiträge: 7
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP settings..)
Webhoster:
PHP_VERSION=5.1.6
PHP_OS=Linux
PHP_INT_MAX=9223372036854775807
PHP_INT_SIZE=8
+1 -> -9223372036854775808
- -> -9223372036854775807
-1 -> -9223372036854775808
L -> dcba
N -> abcd
V -> dcba
Lokal:
PHP_VERSION=5.2.5
PHP_OS=WINNT
PHP_INT_MAX=2147483647
PHP_INT_SIZE=4
+1 -> -2147483648
- -> -2147483647
-1 -> -2147483648
L -> dcba
N -> abcd
V -> dcba
MfG
|
28.04.2008, 13:55:47
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Script funktioniert nur auf XAMPP, nicht aber bei webhostern (gleiche PHP setting
Ich habe mir den Code nicht weiter angesehen (der Klassenname UberString hat mir ehrlich gesagt gereicht, keinen Bock). Kann es sein, dass sich der Code an irgendeiner Stelle auf ein Überlaufverhalten bei (signed/unsigned) 32bit Werten verlässt?
Auf der Linuxkiste ist ein int 8 Bytes lang. Bei Deinem Windows sind es nur 4.
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:31:51 Uhr.
|