Nach ein paar weiteren Stunden Testen glaube ich, dass wir das Problem an der falschen Stelle suchen. In den Verdacht kam von Anfang an unser frisch aufgesetzter Dev-Server.
Nun bin ich aber mal der Fehlermeldung nachgegangen, welche php beim Syncvorgang ausgibt:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in *pfad_zu_contao*/system/modules/syncCto/SyncCtoCommunication.php on line 1783
Also hab ich den Code auf Linie 1783 angeschaut:
Code:
$this->fsocket = fsockopen($this->strAddress, $this->intPort, $errno, $errstr, 5);
und folgende Zeile unterhalb eingefügt:
Code:
$this->log("fsockopen(".$this->strAddress.",".$this->intPort.",".$errno.",".$errstr.")", __CLASS__ . " " . __FUNCTION__, "SyncCto");
Und siehe da, dies ist die Ausgabe in den System-Logs:
fsockopen(,8093,0,php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known)
Wenn mich jetzt nicht alles täuscht und ich das richtig gecoded habe fehlt doch tatsächlich die Adresse
Woran könnte das liegen?
Hab dann einfach mal meine Zieladresse hardgecoded ins Script eingefügt. domain.com/pfadzucontao/ ging nicht, da fsockopen dann den Port hinten anfügt: domain.com/pfadzucontao/:8093
Deshalb habe ich einfach mal nur domain.com eingeben. Nur ist das nicht der Installationsort zu Contao.
Immerhin kommt der Sync jetzt über den fsockopen Fehler hinaus, bleibt aber beim Schritt mit einem neuen Fehler stehen:
Missing starttag for response.
Mit diesem debug.txt-Eintrag:
Code:
>>|------------------------------------------------------
>>|-- Start Log at 23:04:37 20.07.2011
>>
<|-- Start Sendpart RPC rpc816 1311195877.34 -----------------------------------|>
GET /syncCto.php?act=rpc816 HTTP/1.1
Host:
Referer: ***
Cookie: PHPSESSID=11450071b6a933d4cce12faaf5f57d6e; path=/test; BE_USER_AUTH=606d22b13481a80603c135df77955484b0e5530a; expires=Tue, 19-Jul-2011 18:10:12 GMT;
Connection: close
<|-- End Sendpart RPC rpc816 1311195877.34 -------------------------------------|>
<|-- Start Responsepart 1311195877.41 -----------------------------------|>
HTTP/1.1 404 Not Found
Date: Wed, 20 Jul 2011 22:06:03 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
Vary: Accept-Encoding
Content-Length: 400
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /syncCto.php was not found on this server.</p>
<hr>
<address>Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0 Server at Port 80</address>
</body></html>
<|-- End Responsepart 1311195877.41 -------------------------------------|>
>>
>>|-- Close Log at 23:04:37 20.07.2011
>>|------------------------------------------------------
Natürlich findet das Script die syncCto.php nicht, da der Pfad zu contao nicht stimmt.
Also Pfad angepasst (ja, ich habe das readonly-Feld per Firebug entsperrt; wieso ist das Feld überhaupt dort, wenn es dann readonly gemacht wird? )
Aber wieder dasselbe:
Code:
>>|------------------------------------------------------
>>|-- Start Log at 23:21:15 20.07.2011
>>
<|-- Start Sendpart RPC rpc816 1311196874.91 -----------------------------------|>
GET /test/syncCto.php?act=rpc816 HTTP/1.1
Host:
Referer: ***
Cookie: PHPSESSID=11450071b6a933d4cce12faaf5f57d6e; path=/test; BE_USER_AUTH=606d22b13481a80603c135df77955484b0e5530a; expires=Tue, 19-Jul-2011 18:10:12 GMT;
Connection: close
<|-- End Sendpart RPC rpc816 1311196874.91 -------------------------------------|>
<|-- Start Responsepart 1311196875.04 -----------------------------------|>
HTTP/1.1 404 Not Found
Date: Wed, 20 Jul 2011 22:22:40 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
Vary: Accept-Encoding
Content-Length: 405
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /test/syncCto.php was not found on this server.</p>
<hr>
<address>Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0 Server at Port 80</address>
</body></html>
<|-- End Responsepart 1311196875.04 -------------------------------------|>
>>
>>|-- Close Log at 23:21:15 20.07.2011
>>|------------------------------------------------------
Stutzig macht mich hier: Server at Port 80
Könnte es evtl. sein, dass der Fehler doch im syncCto Script zu suchen ist?