Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

[Gelöst] XML-Sitemap-Generierung: Fehlermeldung

Eingetragen von bramburi (205)
am 05.11.2012 - 13:04 Uhr in
  • Module
  • Drupal 6.x

Hallo

Nach der Installation des Moduls XML-Sitemap u. des DB-Updates wird man im Statusbericht aufgefordert einen Cron-Lauf durchzuführen um die Map zu erzeugen.

"XML sitemap Cached files have not been generated yet.
The XML cached files are out of date and need to be regenerated. You can run cron manually to regenerate the sitemap files."

Das funktioniert bei mir leider nicht. Stattdessen erscheint die Fehlermeldung:

Fatal error: Uncaught exception 'XMLSitemapGenerationException' with message
'Could not open file xmlsitemap/NXhscRe0440PFpI5dSznEVgmauL25KojD7u4e9aZwOM/1.xml
for writing.' in
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.xmlsitemap.inc:47
Stack trace: #0
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.xmlsitemap.inc(36)
: XMLSitemapWriter->openUri('xmlsitemap/NXhs...') #1
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.generate.inc(152):
XMLSitemapWriter->__construct(Object(stdClass), 1) #2
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.generate.inc(338):
xmlsitemap_generate_page(Object(stdClass), 1) #3 [internal function]:
xmlsitemap_regenerate_batch_generate('NXhscRe0440PFpI...', Array) #4
E:\xampp\htdocs\events\includes\batch.inc(189):
call_user_func_array('xmlsitemap_rege...', Array) #5
E:\xampp\htdocs\events\includes\form.inc(2555): _batch_process() #6
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.module(1436):
batch_process() #7 E:\xampp in
E:\xampp\htdocs\events\sites\all\modules\xmlsitemap\xmlsitemap.xmlsitemap.inc on
line 47

Auch die Löschung des Caches (Einstellungen/Leistung + flush all Caches) und des

Inhaltes in sites/all/default/files/xmlsitemap/ wie hier im Forum empfohlen bringt leider nichts.

Hat jemand damit Erfahrung? Lässt sich das irgendwie beheben?

Danke schon mal im Voraus.

LG
Robert

‹ Gelöst: Panels - Varianten in Abhängigkeit der URL Englische und deutsche Navigation wird gleichzeitig gezeigt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Schau mal hier unter #4 gib

Eingetragen von oteno (775)
am 05.11.2012 - 13:33 Uhr

Schau mal hier: http://drupal.org/node/1219218 unter #4 gibt es einen Patch dafür

Don't code today what you can't debug tomorrow
Ariya Hidayat

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Hilfe. Wie kann

Eingetragen von bramburi (205)
am 05.11.2012 - 14:55 Uhr

Danke für die Hilfe.

Wie kann ich diesen Batch in die Datei xmlsitemap.xmlsitemap.inc implementieren?

Meine PHP-Kenntnisse sind eher begrenzt..

Ich nehme an die Funktion 'public function openUri($uri)' ist zu ersetzen?

Wie weit? bis zu

array('@file' => $uri)));
}
return $return;
} //??

Der 1. Batch-Absatz scheint eine Anweisung zu sein, die mit Ausnahme des Dateinamen für mich rätselhaft ist.

Batch- und Datei-Code siehe bitte unten.

LG
Robert

BATCH-Code:

diff --git a/xmlsitemap.xmlsitemap.inc b/xmlsitemap.xmlsitemap.inc
index 0ea1bb7..fd30924 100644
--- a/xmlsitemap.xmlsitemap.inc
+++ b/xmlsitemap.xmlsitemap.inc
@@ -37,6 +37,12 @@ class XMLSitemapWriter extends XMLWriter {
   }

   public function openUri($uri) {
+    // If download method is set to 'public', we find the absolute path
+    // of Drupal's root, so that realpath() won't return FALSE
+    if (variable_get('file_downloads', '1') == '1') {
+      $uri = realpath('.') . '/' . $uri;
+    }
+ 
     if ($realpath = realpath($uri)) {
       // Convert to a real path if possible. Sometimes this function returns
       // a FALSE value, so use the original value when that happens.

Datei-Code:

public function openUri($uri) {
    if ($realpath = realpath($uri)) {
      // Convert to a real path if possible. Sometimes this function returns
      // a FALSE value, so use the original value when that happens.
      $uri = $realpath;
    }
    $return = parent::openUri($uri);
    if (!$return) {
      throw new XMLSitemapGenerationException(t('Could not open file @file for writing.', array('@file' => $uri)));
    }
    return $return;
  }

  public function startDocument........................

  • Anmelden oder Registrieren um Kommentare zu schreiben

in diesem Fall einfach die

Eingetragen von oteno (775)
am 05.11.2012 - 15:09 Uhr

in diesem Fall einfach die mit + gekennzeichneten Zeilen einfügen:

public function openUri($uri) {
// If download method is set to 'public', we find the absolute path
// of Drupal's root, so that realpath() won't return FALSE
if (variable_get('file_downloads', '1') == '1') {
$uri = realpath('.') . '/' . $uri;
}

if ($realpath = realpath($uri)) {
// Convert to a real path if possible. Sometimes this function returns
// a FALSE value, so use the original value when that happens.
$uri = $realpath;
}
$return = parent::openUri($uri);
if (!$return) {
throw new XMLSitemapGenerationException(t('Could not open file @file for writing.', array('@file' => $uri)));
}
return $return;
}

public function startDocument........................

Don't code today what you can't debug tomorrow
Ariya Hidayat

  • Anmelden oder Registrieren um Kommentare zu schreiben

Besten Dank. Großartige

Eingetragen von bramburi (205)
am 05.11.2012 - 15:16 Uhr

Besten Dank.
Großartige Hilfe.

Werde es später einfügen u. berichten.
muss jetzt nämlich weg.

LG
Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles palletti

Eingetragen von bramburi (205)
am 06.11.2012 - 12:27 Uhr

Funktioniert wie erwartet.

Nochmals danke.

Gruß
Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Suche Upgradeempfehlungen einer existenten Drupal7 Site auf 9/10?
  • Develop Custom Field in Views
  • Wie View mit einem Array von ids filtern?
  • Wie befülle ich den Cache automatisch? [gelöst]
  • [gelöst] "EntityMetadataWrapperException: Invalid data value given." für Datum-Feld in Webform
  • Wie kann man die Ansicht der Benutzer erweitern?
  • Paragraphs - mit drei Sprachen, die nicht immer alle übersetzt werden können.
  • Wie path/url_alias in views anzeigen?
  • Drupal 9 - PHP 8 - Modul funtkioniert nicht mehr
  • Timestamp wird in views falsch interpretiert
  • Google Fonts Drupal 7 Porto Theme
  • datetime_range Fehlermeldung bei update.php
Weiter

Neue Kommentare

  • Bei Strato kann man doch
    vor 4 Tagen 18 Stunden
  • Fehlercode: SSL_ERROR_NO_CYPHER_OVERLAP
    vor 4 Tagen 21 Stunden
  • Was ist denn
    vor 6 Tagen 3 Stunden
  • Ohne das jetzt sicher zu
    vor 6 Tagen 3 Stunden
  • Kann es sein, dass das zweite
    vor 6 Tagen 4 Stunden
  • Da gibt es ehrlich gesagt
    vor 6 Tagen 16 Stunden
  • [gelöst] "EntityMetadataWrapperException: Invalid data value giv
    vor 6 Tagen 17 Stunden
  • Wie oben geschrieben, habe
    vor 1 Woche 14 Stunden
  • php konsole und web interface
    vor 1 Woche 22 Stunden
  • PHP unterschiedliche Version des Providers
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 247932
Registrierte User: 19622

Neue User:

  • Davidenabs
  • climtarmut
  • VerifproMi

» Alle User anzeigen

User nach Punkten sortiert:
wla9218
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association