Ich habe gerade ein OpenCart System für einen meiner Kunden auf meinem Server installiert (Server ist Debian Wheezy, mit Nginx, PHP und MariaDB). Alles funktioniert gut, bis auf eine Sache. Wenn ein Kunde versucht, sich anzumelden, dauert die Registrierung sehr viel Zeit, etwa 3 Minuten. Ich habe das Problem verfolgt und es hängt höchstwahrscheinlich beim Senden von E-Mails an Kunden und an Admin.Opencart Registrierung dauert sehr lange
Ich handle E-Mails auf dem Server mit SSMTP, die wiederum meinen eigenen E-Mail-Server verwendet. Andere Webapps wie Joomla funktionieren gut und E-Mail wird sofort und ohne Verzögerung gesendet (dasselbe gilt für Mail-Befehle im System). Opencart ist auf "mail" eingestellt (ich habe sogar versucht, SMTP direkt in opencart einzutragen, aber es hat nicht funktioniert).
Da ich im Grunde nichts über OpenCarts Innenleben weiß, kann mir jemand erfahrener bei diesem Problem helfen?
Vielen Dank im Voraus!
EDIT:
ich in der Lage gewesen, die Ursache des Problems successfuly zu identifizieren. Es ging nicht um PHP oder OpenCart, sondern um eine System-Sache. Die Einstellungen für den sendmail-Pfad in php.ini wurden auskommentiert, was bedeutet, dass PHP versucht, es selbst zu finden. Aus irgendeinem Grund ging es im Falle von OpenCart für sSMTP. Da sSMTP synchron ist, hat es lange gedauert, bis es fertig war. Joomla auf der anderen Seite, ging für Heirloom Mailx vergessen auf meinem Server aus einer alten Abhängigkeit (warum ich keine Ahnung habe) und der Mail-Befehl sofort beendet, also keine Verzögerung.
Meine Lösung nach Stunden der Fehlersuche und Testfehler war, ssmtp und mailx insgesamt zu verschrotten und Postfix zu verwenden, um Mail an externen Server weiterzuleiten. Jetzt funktioniert alles wie erwartet.
Vielen Dank für Ihre Antwort, aber leider hilft es mir nicht. Ich habe versucht, die Umgebung auf Entwicklungsmaschine zu replizieren, aber das Problem ist dort nicht anwesend (wahrscheinlich, weil dev-Server nicht in der Lage ist, email zu senden). Der Server, auf dem das Problem auftritt, ist ein Produktionsserver mit mehreren anderen Apps. Daher kann ich dort xdebug nicht installieren. – user2823584
@ user2823584 Obwohl es sich um eine Produktionsmaschine handelt, können Sie es trotzdem installieren und alles außer profiler und 'profiler_enable_trigger' deaktivieren. Es sollte die Leistung anderer Anwendungen nicht beeinflussen. –
@ user2823584 Vielen Dank für die Annahme meiner Antwort, ich hoffe, es wird Ihnen helfen, Ihr Problem zu lösen. Aber es ist nur eine Anleitung, es wäre gut, wenn Sie die Details über eine Grundursache und echte Lösung für Ihr Problem veröffentlichen könnten, wenn Sie es lösen und es stattdessen als akzeptierte Antwort markieren (und Sie können einfach meine Antwort abstimmen ;)). –