Page 1 of 1
sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 1:00 pm
by moonchild
Hallo,
ich habe immer noch ein Problem mit dem Google Sitemap Plugin. Hier läuft Serendipity 1.5.1 und PHP 4.4.9:
Code: Select all
Warning: sprintf() [function.sprintf]: Too few arguments in /home/www/plugins/serendipity_event_google_sitemap/serendipity_event_google_sitemap.php on line 572
Das Plugin ist als vorletztes eingetragen, danach kommt nur noch das "Einträge ankündigen" Plugin.
Es ist wie folgt konfiguriert:
URL-Liste für Pings:
Code: Select all
http://www.google.com/webmasters/tools/ping?sitemap=%s%3Bhttp://submissions.ask.com/ping?sitemap=%s
Enable GoogleNews content : Ja
...
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 1:02 pm
by garvinhicking
Hi!
Die URL ist falsch:
[quote]
Code: Select all
http://www.google.com/webmasters/tools/ping?sitemap=%s%3Bhttp://submissions.ask.com/ping?sitemap=%s
Alle % Zeichen müssen Platzhalter sein. %3B ist so nicht erlaubt -- kann es sein dass hier eher ein "&" reinmüsste?
Grüße,
Garvin
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 2:15 pm
by moonchild
Hi Garvin,
ich habe das korrigiert, kam wohl daher, weil ich vorhin die Alternative zum Semikolon testen wollte.
Code: Select all
http://www.google.com/webmasters/tools/ping?sitemap=%s;http://submissions.ask.com/ping?sitemap=%s
Inzwischen kommt nach ewigen Zeiten nur noch: "An internal server error occurred. Please try again later."
Wenn ich es dann later nochmal probiere, ist die Fehlermeldung weg, es kommt:
Sitemap Update an
www.google.com gemeldet.
Sitemap Update an submissions.ask.com gemeldet.
Aber so wie ich das verstehe, wird das Update doch nur beim ersten Mal gemeldet?
Und: Wie kann ich die Ursache für den "Internal Server Error" rausfinden?
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 2:19 pm
by garvinhicking
Hi!
Wenn Du ganz oft pingst, wird deine IP von den Services ggf. geblacklistet...
Probier mal " ; " mit Leerzeichen, damit das %s nicht mit dem Semikolon in Verbindung gebracht wird.
Grüße,
Garvin
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 8:43 pm
by moonchild
Hi Garvin,
so, ich habe vor und hinter das Semikolon ein Leerzeichen eingefügt:
Code: Select all
http://www.google.com/webmasters/tools/ping?sitemap=%s ; http://submissions.ask.com/ping?sitemap=%s
Es ist wie verhext, jetzt geht google, aber submssions nicht...
Code: Select all
Sitemap Update an www.google.com gemeldet.
http_request Object ( [_url] => net_url Object ( [url] => http://submissions.ask.com/ping?sitemap=http%3A%2F%2Fwww.trueten.de%2F%2Fsitemap.xml.gz [protocol] => http [username] => [password] => [host] => http [port] => 80 [path] => //submissions.ask.com/ping [querystring] => Array ( [sitemap] => http%3A%2F%2Fwww.trueten.de%2F%2Fsitemap.xml.gz ) [anchor] => [useBrackets] => 1 [user] => [pass] => ) [_method] => GET [_http] => 1.1 [_requestHeaders] => Array ( [host] => http [user-agent] => PEAR HTTP_Request class ( http://pear.php.net/ ) [connection] => close [accept-encoding] => gzip ) [_user] => [_pass] => [_sock] => net_socket Object ( [_debug] => [_default_error_mode] => [_default_error_options] => [_default_error_handler] => [_error_class] => PEAR_Error [_expected_errors] => Array ( ) [fp] => [blocking] => 1 [persistent] => [addr] => http [port] => 80 [timeout] => [lineLength] => 2048 ) [_proxy_host] => [_proxy_port] => [_proxy_user] => [_proxy_pass] => [_postData] => Array ( ) [_body] => [_bodyDisallowed] => Array ( [0] => TRACE ) [_postFiles] => Array ( ) [_timeout] => [_response] => [_allowRedirects] => [_maxRedirects] => 3 [_redirects] => 0 [_useBrackets] => 1 [_listeners] => Array ( ) [_saveBody] => 1 [_readTimeout] => [_socketOptions] => ) Konnte Update nicht an PLUGIN_EVENT_SITEMAP_UNKNOWN_HOST melden: http://submissions.ask.com/ping?sitemap=http%3A%2F%2Fwww.trueten.de%2F%2Fsitemap.xml.gzAlternativ kann sie auch in die robots.txt eingefügt werden.
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Jan 25, 2010 8:58 pm
by garvinhicking
Hi!
Hm.... evtl mal " ;" probieren, also mit leerzeichen nur hinter dem einen Host? Evtl kann er das nicht richtig an die andere Seite melden weil das Leerzeichen davor ist.
Sorry, ich mache auch nur Blindflug, weil ich das Plugin selbst so nicht nutze
Grüße,
GArvin
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Tue Jan 26, 2010 12:12 am
by moonchild
Hi Garvin,
erledigt. Ergebnis: "Internal Server Error"
Wenn ich danach erneut auf Speichern gehe, erscheint der Artikel ein zweites Mal. Ich muss also erst in die Artikelübersicht und dann nach erneutem Aufruf des Artikels im Editor abspeichern um das zu vermeiden...
Bin ich eigentlich der Einzige mit dem Problem?
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Tue Jan 26, 2010 12:36 pm
by garvinhicking
Hi!
Internal Server Errors sind eigentlich andere Probleme. Da müsstest Du mal um Einsicht in die Apache ErrorLogs bitten um rauszufinden was das ist. Das ist ein generischer Fehler, hier kann alles mögliche vorliegen: Timeouts, zu viel Speicher, Netzwerkfehler, ...
Hab nochmal im Code geschaut, und ich glaube jetzt auch den Fehler erkannt zu haben. Wenn man mehrere Hosts benutzen will kann man nicht überall %s einsetzen, weil die PHP-Funktion printf() dann auch mehrere Namensparameter erwartet. Es gibt aber nur einen.
Daher müsste der String so aussehen:
Code: Select all
http://www.google.com/webmasters/tools/ping?sitemap=%1$s;http://submissions.ask.com/ping?sitemap=%1$s
Damit sagt man dann "nimm immer die erste Variable", und dann wird also kein zweiter Parameter erwartet, und der Platzhalter korrekt ausgefüllt.
Grüße,
Garvin
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Fri Jan 29, 2010 11:10 am
by moonchild
Hallo,
also ich habe das jetzt alles entsprechend eingebaut, den Fehler bekomme ich nicht weg:
Code: Select all
An internal server error occurred. Please try again later.
In den Apache Logfiles ist kein Hinweis zu finden, weder in error.log noch der access.log.
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Fri Jan 29, 2010 2:25 pm
by garvinhicking
Hi!
Wo kommt diese Fehlermeldung genau? Vom Googleserver oder von deinem eigenen? (Screenshot)
Grüße,
Garvin
Re: sprintf Problem in serendipity_event_google_sitemap.php
Posted: Mon Feb 08, 2010 12:10 pm
by moonchild
Hier der Screenshot eines Testbeitrages:
Der Stand ist inzwischen so, dass es mal klappt, mal nicht. Der "Internal Server Error" kommt von meinem Server.