Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

matomo URL wird nicht erkannt #7

Open
speedweb opened this issue Aug 20, 2022 · 14 comments
Open

matomo URL wird nicht erkannt #7

speedweb opened this issue Aug 20, 2022 · 14 comments

Comments

@speedweb
Copy link

Contao 4.9.33
PHP 7.4.16

MATOMO funktioniert ohne Probleme
Tracking Code ist eingebaut

In der Konfiguration der Erweiterung wird die URL zu MATONO nicht erkannt.
Fehlermeldung:
"Matomo-Installation konnte nicht gefunden werden. Server meldet HTTP-Code 0"

@math-GH
Copy link
Owner

math-GH commented Aug 20, 2022

Hallo,
kann mit der eingegebenen URL die Matomo-Installation aufgerufen werden, wenn man sie im Browser direkt eingibt?

@speedweb
Copy link
Author

speedweb commented Aug 21, 2022

ja das funktioniert ohne Probleme.
MATOMO selber funktioniert ganz normal.
Der eingebundene Tracking Code funktioniert ohne Probleme.

@math-GH
Copy link
Owner

math-GH commented Aug 21, 2022

Ist eventuell ein URL-Redirekt vorhanden? Hast du die entsprechende Checkbox testweise aktiviert? Eventuell ist Matomo nur über https oder nur über http erreichbar?

@speedweb
Copy link
Author

Das habe ich auch schon getestet.
Hat leider auch nichts gebracht.
MATOMO ist auf einer ganz normalen Subdomain installiert, und funktioniert soweit ohne Probleme.
https://matomo.speedweb.biz
Kann mir nicht vorstellen warum der Server nicht gefunden werden sollte.
Den Tracking Code binde ich mit der Erweiterung menatwork/contao-matomotrackingtag-bundle ein.
Da werden die Infos auch vom Server ausgelesen. (ohne Probleme)
Vermute dass es irgendwie bei der Prüfung des Server zu Problemen kommt.

@math-GH
Copy link
Owner

math-GH commented Aug 21, 2022

Technische Anmerkung:

Dieser PHP Code liefert den HTTP-Code = 0

/**
* getHttpCode - ermittelt den HTTP-Code von $url
*
* @param String $url
* @return integer
**/
public function getHttpCode($url) {
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return $info['http_code'];
}

Es wird geprüft, ob https://matomo.speedweb.biz/piwik.js vorhanden ist. (TODO für mich: zukünftig auf matomo.js prüfen).

@speedweb: Kannst du bitte prüfen, ob du auf https://matomo.speedweb.biz/piwik.js zugreifen kannst? Wenn nicht, ob der Zugriff auf https://matomo.speedweb.biz/matomo.js möglich ist. Matomo liefert aktuell noch piwik.js aus.

@speedweb
Copy link
Author

es sind in der Installation beide JS Dateien (piwik.js und matomo.js) vorhanden und es kann auf diese auch zugegriffen werden.

@speedweb
Copy link
Author

habe zum Test die Daten (URL, SiteID, Authcode) direkt in der "be_piwikcharts/bepiwikcharts.php" eingetragen.
Anstelle der Demo Daten. Damit Funktioniert der Zugriff auf MATOMO.

@math-GH
Copy link
Owner

math-GH commented Aug 21, 2022

OK, das ist schon mal eine hilfreiche Info.

Ist eventuell die Top-Level-Domain länger als "üblich"? Hat sie mehr als 3 Zeichen?

Dann könnte es an dieser Regular Expression liegen:

if (!preg_match('%^(?:(?:https?)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu', $varValue)) {

@speedweb
Copy link
Author

nein Die TopLevel ist ja "biz"

@speedweb
Copy link
Author

speedweb commented Aug 21, 2022

generell kann es nur an der Überprüfung der Domain liegen.
Wenn die Daten direkt eingetragen werden funktioniert ja alles
und es werden die Richtigen Daten von Matomo ausgegeben.
Nur lassen sich die Zugangsdaten nicht über das Backend eintragen,
da es heißt die Domain wird nicht gefunden. (diese existiert und funktioniert aber ohne Probleme)

@math-GH
Copy link
Owner

math-GH commented Aug 21, 2022

Die Fehlermeldung sagt halt aus, dass der HTTP Code für diese URL = 0 ist (erwartet wird HTTP Code 200).

Wenn man technisch tiefer rein schaut, dann kann man hier nachlesen: https://stackoverflow.com/questions/10227879/php-curl-http-code-return-0

Ich weiß nicht so recht, was man machen kann, außer die URL-Prüfung abzuschalten.

@speedweb
Copy link
Author

werde mal schauen ob ich selber was raus bekomme wegen php-curl...
Ich trage vorerst die Daten direkt ein, was aber leider nicht update sicher ist.
Denke dass es auch kein Problem ist wenn die URL-Prüfung abgeschaltet ist.
Werde mal schauen wie es in anderen Erweiterungen gelöst ist. Entweder funktioniert es dort, oder die haben auch keine Prüfung.....

@math-GH
Copy link
Owner

math-GH commented Aug 21, 2022

Man könnte überlegen, ob die URL-Prüfung per Option abgeschaltet werden kann, quasi ein Profi-Feature für alle Fälle

@speedweb
Copy link
Author

Das wäre sicherlich die optimale Lösung.
Denn wenn die URL eingetragen ist funktioniert ja alles soweit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants