Smarty Fehler

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Smarty Fehler

Beitrag von langwebdesign » Sa 29. Dez 2018, 10:07

Hallo,

ich habe ein sporadisches Problem im Frontend des Testmandanten (aus dem git develop branch)

Unabhängig davon welche Seite ich aufrufe, kommt irgendwann dieser Fehler im errorlog:

Code: Alles auswählen

[2018-12-29 08:42:02] Warning: "cSmartyFrontend __construct Parameter 2 invalid." at include_once() [config.plugin.php(31)]
	include_once() called in file functions.includePluginConf.php(50)
	require_once() called in file move_articles.php(30)
	include() called in file pseudo-cron.inc.php(454)
	runJob() called in file pseudo-cron.inc.php(175)
	include_once() called in file functions.api.general.php(112)
	cInclude() called in file include.front_content.php(61)
	include() called in file front_content.php(43)

[29-Dec-2018 08:42:03 UTC] PHP Fatal error:  Uncaught cException: Smarty singleton not instantiated yet. in ...\contenido\contenido\plugins\smarty\classes\class.smarty.frontend.php:126
Stack trace:
#0 ...\contenido\contenido\includes\frontend\include.front_content.php(756) : eval()'d code(51): cSmartyFrontend::getInstance()
#1 ...\contenido\contenido\includes\frontend\include.front_content.php(756): eval()
#2 ...\contenido\cms\front_content.php(43): include('C:\\Users\\steph\\...')
#3 {main}
  thrown in ...\contenido\contenido\plugins\smarty\classes\class.smarty.frontend.php on line 126
Und die Seite bleibt fast leer:

Code: Alles auswählen

<!DOCTYPE html>
<!-- standard layout -->
<html lang="de">
    <head>
<base href="http://localhost:8000/cms/" />
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1" />
        <title>Sitemap - Sitemap</title><link rel="stylesheet" type="text/css" href="//localhost:8000/cms/cache/content_sitemap_html.css" id="m19" />
        <link rel="stylesheet" type="text/css" href="css/reset.css" />
        <link rel="stylesheet" type="text/css" href="css/main.css" />
        <link rel="stylesheet" type="text/css" href="css/media.css" />
        <link rel="stylesheet" type="text/css" href="css/contenido_backend.css" />
        <!--[if IE 8]>
            <link type="text/css" rel="stylesheet" href="css/ie_8.css" media="all" />
        <![endif]-->
<meta name="generator" content="CMS CONTENIDO 4.10" />
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<meta name="author" content="Systemadministrator" />
<meta name="description" content="Sitemap" />
<meta name="keywords" content="" />
</head>
    <body>
        <div id="page">
            <div id="header">
                
Der Fehler scheint aus der Zeile 52 der eval.php zu kommen

Code: Alles auswählen

 $clientConfig = cRegistry::getClientConfig(cRegistry::getClientId()); $tpl = cSmartyFrontend::getInstance(); $tpl->assign('href', $clientConfig['path']['htmlpath']); $tpl->display('get.tpl'); ?>
Vielleicht kann das wer fixen?
Wann kann man den mit einer offiziellen nächsten Version rechnen?

Meine Dev Umgebung läuft mit PHP 7.2.13 und dem integrierten Webserver

Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Sa 29. Dez 2018, 10:31

Hallo langwebdesign,

du musst das Plugin "Smarty Wrapper" im Backend im Plugin Manager installieren und das Plugin aktivieren, sofern es nicht aktiv ist.

Gruß
xmurrix

langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Re: Smarty Fehler

Beitrag von langwebdesign » Sa 29. Dez 2018, 12:18

Hallo xmurrix,

das Plugin ist schon installiert und aktiviert.
Der Fehler tritt auch nur ab und zu auf, ohne erkennbares Muster.

Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

Faar
Beiträge: 1497
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von Faar » Sa 29. Dez 2018, 13:15

Warum steht da Contenido 4.10 im Quelltext?
Ist die schon rausgegeben worden?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Sa 29. Dez 2018, 13:37

langwebdesign hat geschrieben:
Sa 29. Dez 2018, 12:18
...das Plugin ist schon installiert und aktiviert.
Der Fehler tritt auch nur ab und zu auf, ohne erkennbares Muster...
Ist das Plugin auch an erster Stelle, so dass es vor anderen Plugins geladen wird, die eventuell auch mit Smarty arbeiten?

Gruß
xmurrix

langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Re: Smarty Fehler

Beitrag von langwebdesign » Sa 29. Dez 2018, 13:42

Hi,

@Faar
nein ich bastel mit dem develop Branch vom git Repository, das läuft schon mit PHP 7.

@xmurrix
Jap das Plugin ist ganz oben und der Fehler tritt auch auf der gleichen Seite nur ab und zu auf.
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Sa 29. Dez 2018, 13:52

Habe mir dein Beitrag nochmal angesehen, das Ganze geschieht beim Ausführen der Cronjobs, in move_articles.php wird das Laden der Plugins initialisiert, in der config.plugin.php des Smarty Wrapper Plugins scheint der 2. Parameter in Zeile 29 nicht korrekt gesetzt zu sein.

Code: Alles auswählen

    new cSmartyFrontend($cfg, $cfgClient[$client], true);
Versuche mal am Anfang der contenido/plugins/smarty/includes/config.plugin.php folgende Zeile

Code: Alles auswählen

$client = (isset($client)) ? $client : $load_client;
gegen folgende Zeilen zu ersetzen:

Code: Alles auswählen

$client = cRegistry::getClientId();
$cfgClient = cRegistry::getClientConfig();
@Faar:
Nein, die 4.10 ist nicht draußen, aber es wird anscheinend daran gearbeitet, es zu veröffentlichen.


Gruß
xmurrix

langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Re: Smarty Fehler

Beitrag von langwebdesign » Sa 29. Dez 2018, 13:56

Hi xmurrix,

das scheint das Problem zu beheben, konnte den Fehler nicht nochmal reproduzieren.
Kann ich irgendwo sehen ob die Cronjobs ausgeführt wurden?

Danke
Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Sa 29. Dez 2018, 14:22

langwebdesign hat geschrieben:
Sa 29. Dez 2018, 13:56
...das scheint das Problem zu beheben, konnte den Fehler nicht nochmal reproduzieren.
Kann ich irgendwo sehen ob die Cronjobs ausgeführt wurden?...
Es gibt ein "Cronjobs Overview" Plugin, vielleicht hilft das etwas, um einen Überblick zu bekommen. Allerdings kenne ich dessen genaue Funktionen nicht. Ansonsten gibt es zu jedem Cronjob eine *.job Datei unter data/cronlog/ in der die Zeit (Unix Timestamp) der letzten Ausführung drin steht. Wenn man die *.job Datei manuell löscht, wird der Cronjob beim nächsten Aufruf der Seite ausgeführt.

Im Fall von contenido/cronjobs/move_articles.php scheint das aber anders zu laufen, da wird Code ausgeführt, wenn das PHP Script als CLI-Script läuft, siehe folgende Zeile in der Fehlermeldung:

Code: Alles auswählen

require_once() called in file move_articles.php(30)
Vermutlich läuft das also über einen Crontab-Eintrag. Wenn man Cronjobs über die Crontab ausführt, muss man sicherstellen, dass das Frontend korrekt initialisiert wird. Man sollte also ein Script aufrufen, dass wie cms/front_content.php das Frontend und in Teilen wie contenido/includes/frontend/include.front_content.php das Backend initialisiert und am Ende den gewünschten Cronjob oder alle Cronjobs ausführt.

Gruß
xmurrix

langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Re: Smarty Fehler

Beitrag von langwebdesign » Sa 29. Dez 2018, 17:03

Hi,

ein cronjob über crontab kann es nicht sein bin auf Windows und hab auch keine Tasks usw. konfiguriert.
Aber hab wieder was dazu gelernt was ich später noch brauche, die Cron Thematik wird unter https://docs.contenido.org/display/CONDEVE/Cronjob beschrieben.

Zurück zum Problem, wenn ich, ohne deine Anpassung, die "move_articles.php.job" lösche und dann im Frontend irgendwas aufrufe, wird die Datei "move_articles.php.job" wieder erstellt, heißt der Job wurde ausgeführt und der Fehler tritt auf.

Mit deinen Anpassungen funktioniert das ohne Probleme, somit ist das damit gelöst.

Wie kommt das jetzt in den Contenido Code? Kannst du da einen Pull Request losschicken, oder kann ich das sogar selbst?
Aktuell wird anscheinend wirklich an einem release 4.10 gearbeitet, letzte Commits in die Richtung waren am 21.12.

Mal wieder Danke für deine Hilfe
Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Mo 31. Dez 2018, 13:48

langwebdesign hat geschrieben:
Sa 29. Dez 2018, 17:03
...Mit deinen Anpassungen funktioniert das ohne Probleme, somit ist das damit gelöst.

Wie kommt das jetzt in den Contenido Code? Kannst du da einen Pull Request losschicken, oder kann ich das sogar selbst?
Aktuell wird anscheinend wirklich an einem release 4.10 gearbeitet, letzte Commits in die Richtung waren am 21.12....
Danke für das Feedback.

Ich kann dazu gerne ein Ticket und den nötigen Pull-Request erstellen. Natürlich kannst du das auch gerne machen. Hast du einen Account für issues.contenido.org und git.contenido.org?

Gruß
xmurrix

langwebdesign
Beiträge: 73
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

Re: Smarty Fehler

Beitrag von langwebdesign » Di 1. Jan 2019, 11:12

Hi,

ne ich hab keinen Account, kannst du das bitte machen?

Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Smarty Fehler

Beitrag von xmurrix » Mi 2. Jan 2019, 00:15

langwebdesign hat geschrieben:
Di 1. Jan 2019, 11:12
...ne ich hab keinen Account, kannst du das bitte machen?...
Ist erledigt, danke nochmals für das Mitteilen des Fehlers.

Gruß
xmurrix

Antworten