[Joomla] Błąd 500 spowodowany błędem w bibliotece Joomla

Zobacz komentarze

Podziel się

[Joomla] Błąd 500 spowodowany błędem w bibliotece Joomla - http://webprojektant.plJedno z ostatnich uaktualnień biblioteki RokCommon powodowało błąd w modułach RokGallery oraz RokSprocket w obu wersjach dla Joomla i Wordpress. Jeśli posiadasz jeden z tych modułów i robisz na bieżąco aktualizacje to na pewno spotkałeś się z tym problemem.

Miałem podobny problem, ale zawsze zlokalizowanie błędu, który powoduje wyświetlanie wiadomości o "error 500", może być pracochłonne. Dodatkowe utrudnienie mamy, jeśli nasza aplikacja znajduje się na serwerze finalnym, gdzie nie możemy włączyć możliwości wyświetlania błędów.

Całe zamieszanie w tym przypadku spowodowane zostało przez błąd w metodzie DOMDocument::schemavalidate()

W naszym przypadku, po włączeniu wyświetlania błędów, mamy:

Warning: DOMDocument::schemaValidate() [domdocument.schemavalidate]: Invalid Schema in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/Xml.php on line 263

Fatal error: Uncaught exception 'InvalidArgumentException' with message '[ERROR 3070] complex type 'service': The content model is not determinist. (in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/services.xsd - line 38, column 0) [ERROR 3070] complex type 'argument': The content model is not determinist. (in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/services.xsd - line 69, column 0) [ERROR 3070] complex type 'call': The content model is not determinist. (in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/services.xsd - line 79, column 0)' in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/Xml.php:265 Stack trace: #0 /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/Xml.php(223): RokCommon_Service_Container_Loader_File_Xml->validate(Object(DOMDocument)) #1 /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Con in /home/userhome/public_html/libraries/rokcommon/RokCommon/Service/Container/Loader/File/Xml.php on line 265

Naprawa polega na odnalezieniu pliku Xml.php, gdzie tkwi błąd.

Plik ten znajdujemy kolejno:

  • Joomla 1.5: /components/com_rokcommon/RokCommon/Service/Container/Loader/File/XML.php
  • Joomla 2.5/3.0: /libraries/rokcommon/RokCommon/Service/Container/Loader/File/Xml.php
  • WordPress: /wp-content/plugins/wp_rokcommon/RokCommon/Service/Container/Loader/File/Xml.php

Musimy poprawić kod w linijce 223:

$this->validate($dom);

na:

//$this->validate($dom);

No i naprawione :-)

WEBprojektant.pl na YouTube!

Kanał WEBprojektant.pl na YouTubeMam przyjemność ogłosić, że działa nasz kanał na Yotube - WEBprojektant.pl - poradnik webmastera, gdzie możecie znaleźć nasze video tutoriale.

Może nie jest tam jeszcze porażająca ilość poradników dla webmasterów, ale postaram się aktualizować kanał w miarę możliwości. Proszę Was o tematykę jaką chcecie, aby poruszyć w kolejnych tutorialach. Łatwiej mi będzie wybrać na czym się skoncentrować.

Może się przydać

Top 3 webmaster

Nasze statystyki

Użytkowników:
130
Artykułów:
224
Odsłon artykułów:
3279871