Zainstalowałem TYPO3 wersja 7.6 i Po dodaniu rozszerzenia do mojej strony pojawił się błąd "Ups, wystąpił błąd! Kod: 201512031647523f4d731f". Nie rozumiem tego błędu i włączam również "displayErrors" => 1, w lokalnej konfiguracji, ale nadal nie otrzymuję znaczącego błędu. "Ups, wystąpił błąd! Kod: 201601301501048 .." w TYPO3 7.6
Odpowiedz
Zasadniczo jest to data + hash, co powoduje, że każdy z takich błędów jest unikalny.
Dla rozwoju środowiska można wyłączyć, jak @Jost zalecane.
Ale produkcji ten ma kluczowe znaczenie dla niech będzie włączona, więc jeśli niektóre z wtyczek lub TS bibliotekami się nie powiedzie, to nie złamie pełną moc i pokazać „Oops wystąpił błąd”, bez jakiejkolwiek informacji , ale wiadomość, widzisz teraz z kodem.
Prawdziwy użytkownik witryny może następnie zgłosić ten kod, a Ty możesz wyszukać ten kod w dzienniku błędów TYPO3, który domyślnie znajduje się pod typo3temp/logs/
, chyba że skonfigurowałeś go inaczej.
Ta funkcja naprawdę ułatwia życie, aby wykryć błędy generowane przez użytkowników.
Należy wyłączyć procedurę obsługi wyjątków obiektu treści, która jest procedurą obsługi wyjątków w nowych wersjach. Jeśli element treści/plugin zgłasza wyjątek, nie usuwa już całej witryny, ale tylko siebie. Aby ją wyłączyć, ustawić
config.contentObjectExceptionHandler = 0
Nie zapomnij ponownie włączyć obsługę wyjątków, kiedy idzie na żywo, aw systemie życia, szukać śladu wyjątku w logach. Zasadniczo co Viktor Livakivskyi mówi w drugiej odpowiedzi.
Można otworzyć plik ./typo3/sysext/frontend/Classes/ContentObject/Exception/ProductionExceptionHandler.php
Szukaj ciąg Ups, wystąpił błąd!. Dodaj linię debugowania bezpośrednio po deklaracji funkcji.
/**
* Handles exceptions thrown during rendering of content objects
* The handler can decide whether to re-throw the exception or
* return a nice error message for production context.
*
* @param \Exception $exception
* @param AbstractContentObject $contentObject
* @param array $contentObjectConfiguration
* @return string
* @throws \Exception
*/
public function handle(\Exception $exception, AbstractContentObject $contentObject = null, $contentObjectConfiguration = array())
{
debug ($exception, 'handle $exception');
Następnie używa się rozszerzenia debugowania, np. fh_debug. To da ci takie wyjście. Pokazuje backtrace połączenia, które prowadzi do tego błędu. Śledzenia są wyświetlane w 2 formatach. Możesz dodać więcej linii debugowania na pozycjach przed miejscami z śladów, aby uzyskać więcej informacji o błędzie.
<table><tbody><tr><td>index.php</td><td>34</td><td>call_user_func</td></tr><tr><td>index.php</td><td>33</td><td>run</td></tr><tr><td>Application.php</td><td>78</td><td>handleRequest</td></tr><tr><td>Bootstrap.php</td><td>302</td><td>handleRequest</td></tr><tr><td>RequestHandler.php</td><td>232</td><td>INTincScript</td></tr><tr><td>TypoScriptFrontendController.php</td><td>3478</td><td>recursivelyReplaceIntPlaceholdersInContent</td></tr><tr><td>TypoScriptFrontendController.php</td><td>3512</td><td>INTincScript_process</td></tr><tr><td>TypoScriptFrontendController.php</td><td>3564</td><td>cObjGetSingle</td></tr><tr><td>ContentObjectRenderer.php</td><td>859</td><td>render</td></tr><tr><td>ContentObjectRenderer.php</td><td>943</td><td>render</td></tr><tr><td>ContentObjectArrayContentObject.php</td><td>41</td><td>cObjGet</td></tr><tr><td>ContentObjectRenderer.php</td><td>805</td><td>cObjGetSingle</td></tr><tr><td>ContentObjectRenderer.php</td><td>859</td><td>render</td></tr><tr><td>ContentObjectRenderer.php</td><td>953</td><td>handle</td></tr><tr><td>ProductionExceptionHandler.php</td><td>53</td><td>debug</td></tr></tbody></table><br><table><tbody><tr><th>Object TYPO3\CMS\Core\Error\Exception</th></tr><tr><td>message</td><td class="el">PHP Catchable Fatal Error: Argument 1 passed to TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::render() must be an instance of TYPO3\CMS\Frontend\ContentObject\AbstractContentObject, null given, called in /home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php on line 1359 and defined in /home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 927</td></tr>
<tr><td>code</td><td class="el"><table><tbody><tr><th>Integer</th></tr><tr><td>1</td></tr></tbody></table></td></tr>
<tr><td>file</td><td class="el">/home/myuser/public_html/neu/typo3_src-7.6.10/typo3/sysext/core/Classes/Error/ErrorHandler.php</td></tr>
<tr><td>line</td><td class="el"><table><tbody><tr><th>Integer</th></tr><tr><td>111</td></tr></tbody></table></td></tr>
</tbody></table>
<h3>handle $exception</h3><hr>
Tekst, dodane później: W międzyczasie nie ma potrzeby dłużej edytować plik PHP ProductionExceptionHandler.php z TYPO3. Po prostu instalujesz i konfigurujesz rozszerzenie fh_debug, które teraz robi konieczny krok automatycznie.
- 1. TYPO3 Kod Extbase dla pi_getLL?
- 2. Zepsuty przycisk na przeglądzie uprawnień na Instagramie? Interfejs API Instagrama - Rozpocznij zgłoszenie daje "Ups, wystąpił błąd".
- 3. Szablon płynu TYPO3 uzyska kod języka
- 4. "Błąd NetCFSvcUtil": wystąpił błąd w narzędziu. "
- 5. Wystąpił błąd podczas podpisywania
- 6. Zapisz wynik Ups PrettyPageHandler
- 7. ASP.NET Web API Wystąpił błąd
- 8. Dlaczego wystąpił błąd w projekcie wix?
- 9. Odsyłacze TYPO3
- 10. Selery + RabbitMQ + "Wystąpił błąd gniazda"
- 11. codeigniter Błąd bazy danych Wystąpił
- 12. Dynamiczne ładowanie skompilowanego modułu Haskell - GHC 7.6
- 13. oktawa opengl_renderer: Błąd 1286 wystąpił w init_gl_context
- 14. Wystąpił błąd HTTP z REPL w przekrętce
- 15. Wystąpił błąd podczas generowania raportu JavaDocs: Kod zakończenia: 1 - javadoc: błąd - nieprawidłowa flaga: -author
- 16. Google plus klient "Wystąpił błąd wewnętrzny"
- 17. KOD: Błąd w getRealPathFromConn
- 18. Wystąpił błąd w podawaniu parametru czcionki w imageloadfont
- 19. Kod błędu 1064, stan SQL 42000: Wystąpił błąd w składni SQL;
- 20. Menu Typo3 z kotwami
- 21. Wystąpił błąd podczas dynamicznego dodawania fragmentów -java.lang.IllegalStateException:
- 22. Wystąpił błąd podczas znajdowania słownika zasobów.
- 23. ecs error: "Wystąpił błąd (ClusterNotFoundException) podczas wywoływania ..."
- 24. Docker: Wystąpił błąd podczas próby połączenia
- 25. Wystąpił błąd podczas uruchamiania Enable-Migrations
- 26. Wystąpił błąd podczas uruchamiania podstawowego projektu Express
- 27. błąd wystąpił podczas ładowania Java VM
- 28. "Wystąpił błąd podczas automatycznego aktywowania pakunku com.android.ide.eclipse.adt"
- 29. Xcode 4.4 - Wystąpił wewnętrzny błąd interfejsu API
- 30. Wystąpił błąd podczas pobierania metadanych pakietu dla ***
Nie ujawniaj informacji o debugowaniu w produktywnych środowiskach, a dla bogów nie rób bałaganu z kodem źródłowym. – j4k3
@ j4k3: Twój komentarz nie ma żadnego sensu. Dane wyjściowe informacji debugowania są kontrolowane przez ustawienia debugowania narzędzia instalacyjnego. Nie wołaj już mojego bałaganu kodowego! –
Po pierwsze nie. Po drugie, dlaczego nie. Po trzecie, co jest tak trudnego do zrozumienia, że jest hojne z debugowaniem informacji? Tajemnice twojego kodu są czymś, czego zwykle nie chcesz, aby Twoi potencjalni napastnicy wiedzieli o tym. Po czwarte. Nie. Bałagan. Z. The. Rdzeń. – j4k3