FOL9000

18. Mai 2018
von Frank O. Laus
Keine Kommentare

In php Parameter an ein inkludiertes Script übergeben

Mit include oder require eine php-Datei inkludieren zu können, ist vor allem bei der Entwicklung von User-Interface-Code eine sehr praktische Sache. Will man aber mehr, als nur eine Seite aus ein paar Templates (z.B. für Header oder Footer) zusammenzubauen, stößt man schnell an Grenzen. Was z.B., wenn man an das inkludierte Script Parameter übergeben muss? Wie so oft, ist die Lösung ganz einfach.
Weiterlesen →

9. Mai 2018
von Frank O. Laus
Keine Kommentare

Geschwindigkeitsprobleme von php mit Xdebug

Dass der Einsatz eines Debuggers wie Xdebug ein Programm verlangsamt dürfte klar sein und niemanden verwundern. Es gibt aber Fälle, in denen man zehn, fünfzehn Sekunden auf eine php-Seite warten muss — da muss ein anderes Problem vorliegen. Bei mir war es ein einfacher, gedankenlos gesetzter Xdebug-Parameter.

Weil es ein Problem zu sein scheint, das öfters vorkommt, sei hier schnell für einen Beitrag auf stackoverflow Werbung gemacht.

Die dort vorgestellte (und auch bei mir erfolgreiche) Lösung ist, den Xdebug-Parameter xdebug.remote_autostart in der php.ini von 1 auf 0 zu setzen, also zu deaktivieren. Aktiviert versucht Xdebug für jeden Request eine Verbindung zum Debugger zu öffnen und wartet und wartet. Bei komplexeren Seiten kann das dauern. Abgestellt lief bei mir alles wie erwartet.

5. März 2018
von Frank O. Laus
Keine Kommentare

WordPress auf neue Domain oder neuen Server umziehen

Tipps und Infos zu einem Umzug einer WordPress-Installation auf einen neuen Server, eine neue Domain oder über die Nutzung eines SSL-Zertifikats (also der Umstellung von http auf https) findet sich viele. Aus gegebenem Anlass soll hier noch einmal alles zusammengefasst werden. Dabei muss man nicht das volle Programm nutzen; auch wer alles auf dem alten Server mit der alten Domain belassen möchte und nur SSL nutzen möchte, findet hier die nötigen Informationen.
Weiterlesen →

23. September 2017
von Frank O. Laus
Keine Kommentare

MAMP php mit Segmentation fault 11 über die Kommandozeile

Viele Web-Anwendungen bieten auch Konfigurationsmöglichkeiten über die Kommandozeile an, z.B. Magento 2 oder Shopware. Wer lokal unter MAMP entwickelt, kann bei einer Anwendung, die IonCube nutzt, eine dumme Überraschung erleben: Statt wie gewünscht zu funktionieren, bricht das Script mit einem ‚Segmentation fault 11‘ ab.
Weiterlesen →

7. September 2017
von Frank O. Laus
Keine Kommentare

IonCube unter MAMP installieren

Für einige Anwendungen, z.B. Shopware, wird für bestimmte Features ein php mit IonCube-Erweiterung benötigt. Wer auf einem lokalen Rechner mit MAMP entwickelt, wird versuchen (müssen), auch dort mit IonCube zu entwickeln. Schließlich soll die Entwicklungsumgebung dem Live-System so ähnlich sein wie möglich. Es gibt aber bei der Installation von IonCube zumindest z.Zt. aber ein paar Fallstricke.
Weiterlesen →

22. Mai 2017
von Frank O. Laus
1 Kommentar

Was tun, wenn eine PayPal-Zahlung abgelehnt wird: ‚Shipping Address State is required‘

In einem Magento-Shop hatte ich neulich das Problem, dass PayPal-Zahlungen eines kanadischen Kunden von PayPal mit einer Fehlermeldung abgelehnt wurden: PayPal gateway has rejected request. The field Shipping Address State is required. Da der kanadische Kunde natürlich angegeben hatte, dass die Lieferung nach Kanada gehen sollte und alle Felder korrekt ausgefüllt hatte, war zunächst unklar, wo der Fehler liegt. Die Lösung ist etwas stochern im Nebel, aber sie müsste auch für andere Shops von Bedeutung sein.
Weiterlesen →

24. April 2017
von Frank O. Laus
Keine Kommentare

Symfony-Exception beim sw:theme:dump:configuration-Kommando in Shopware

Es scheint gelegentlich vorzukommen, dass das Shopware-Consolen-Kommando sw:theme:dump:configuration mit einer etwas seltsam erscheinenden Warnung mit anschließender Exception abbricht: Angeblich wird eine (existierende) Datei nicht gefunden und die Verbindung zur Datenbank schlägt fehl: ‚Could not connect to database. Message from SQL Server: SQLSTATE[HY000][2002] No such file or directory…‘ Die folgende Exception erschließt sich nur Symfony-Entwicklern — wenn überhaupt. Seltsam ist dies vor allem, weil Shopware ansonsten problemlos funktioniert. Die Lösung ist trivial.
Weiterlesen →

8. Februar 2017
von Frank O. Laus
Keine Kommentare

Redirect auf einer Webseite oder header()

Ok, der Titel dieses Beitrags ist nicht wirklich gut. Deswegen gleich zum Problem: Was tun, wenn man auf einer Webseite einen Redirect zu einer anderen Adresse braucht, PHP’s header() aber nicht nutzen kann? Die header()-Funktion hat nämlich einen kleinen Nachteil: Man kann sie nicht anwenden, wenn bereits Daten an den Browser weggeschickt wurden. Man muss sie also immer als erstes anwenden. Stellt man also mit auf der Webseite fest, dass es einen Redirect braucht, kommt man so nicht weiter. Mit ein wenig JavaScript klappt es aber doch.

Weiterlesen →

12. November 2016
von Frank O. Laus
Keine Kommentare

Unknown SSL protocol error in connection to connect20.magentocommerce.com:443 in Magento 1.9.x

Bei der Installation einer Extension in Magento 1.9.3.0 bekam ich folgende Fehleremeldung: Unknown SSL protocol error in connection to connect20.magentocommerce.com:443. Das bei einer einfacher Sache ein solcher Fehler auftaucht, ist schon ein wenig dumm, wenn man gerade dabei ist, sich von Magento 1 langsam zu verabschieden. Lust, noch größer nach Problemlösungen zu suchen, hat man da nicht mehr. Aber die Lösung fand sich dann doch recht schnell.
Weiterlesen →

25. November 2015
von Frank O. Laus
Keine Kommentare

Magento 2 unter XAMPP installieren

Die Installation von Magento 2 ist erheblich besser als die alte Installation des 1.x-Zweiges. Nicht nur, dass sie zeitgemäßer aussieht, die Installationsroutine checkt auch, ob die Installationsumgebung korrekt ist. bei der Installation unter XAMPP kann es dabei (zumindest auf dem Mac) zu zwei kleinen Problemen kommen.

Weiterlesen →

20. November 2015
von Frank O. Laus
Keine Kommentare

Artikel-Liste weg? Erlaubte Blöcke auf Magento CMS-Seiten

Mittlerweile ist ja schon Magento 2 raus, aber sicher werden noch lange viele Magento-Shops des 1.x-Zweiges laufen. Wer von einer älteren Version auf eine neuere 1.9er-Version updatet oder den Patch SUPEE-6788 einsetzt, kann dabei eine kleine Überraschung erleben. Denn werden auf einer CMS-Seite, z.B. auch auf der Home-Page, bestimmte Blöcke eingesetzt, kann es sein, dass die Blöcke nicht angezeigt werden weil der Block-Code gar nicht erst ausgeführt wird. Häufig wird dies z.B. bei Artikel-Listen (Neue Artikel, Features etc.) der Fall sein. Der Grund, warum solche und andere Blöcke häufig erst einmal nicht dargestellt werden, ist ein neues Sicherheitsfeature von Magento. Die Lösung ist dabei ganz einfach.

Weiterlesen →

30. Oktober 2015
von Frank O. Laus
Keine Kommentare

Magento-Update auf eine neue Version

In zwei Beiträgen habe ich das Vorgehen bei einem Magento-Update auf eine neue Version erläutert. Mit der gerade aktuellen Version 1.9.2.2 hab ich nun nach dem bewährten Muster ein weiteres System mit Erfolg updaten können.

Die Beschreibung des Vorgehens im Beitrag zum Magento-Update ist nach wie vor aktuell; auch für andere Versionen — der Titel sollte also nicht verwirren.

Die Versionen, mit denen ich nach dem beschriebenen Muster ein Update gemacht habe, finden nach wie vor im Beitrag mit der Update-Liste.

17. September 2015
von Frank O. Laus
Keine Kommentare

MySQL error 2006: mysql server has gone away: Eine einfache Lösung

Beim Versuch, einen Dump einer MySQL-Datenbank zu importieren brach der Import mit der Fehlermeldung MySQL error 2006: mysql server has gone away ab. Dafür gibt es mindestens zwei Lösungen: Die Variablen wait_timeout und max_allowed_packet.

Unter XAMPP findet sich die Konfigurationsdatei für MySQL unter /XAMPP/xamppfiles/etc/my.cnf. Dort können neue, d.h höhere Werte für die beiden Variablen angegeben werden.

wait_timeout habe ich nicht verändert, der Wert erschien mir ausreichend hoch. max_allowed_packet hingegen hab ich ordentlich raufgesetzt, auf 500M. Das mag zwar ein wenig arg hoch sein, aber eine lokale MySQL-Installation muss ja nicht allerfeinst bis ins letzte Detail konfiguriert sein; Hauptsache, sie läuft.

Mit dieser kleinen Änderung und nach einem Neustart von MySQL lief der Import dann problemlos.

9. September 2015
von Frank O. Laus
Keine Kommentare

darodar, semalt und anderen Referer-Spam in Google-Analytics ausblenden

Wenn seltsame Einträge in großer Zahl die Statistiken von Google-Analytics zumüllen, ist dies meist Referer-Spam. In einem grundlegenden Beitrag über Referer-Spam in Google-Analytics habe ich bereits geschrieben, was es damit auf sich hat und wie man diesen störenden Zugriffen begegnen kann.

Neben den Aussperren der Spammer über die .htaccess-Datei habe ich dort auch beschrieben, wie man über ein Segment in Analytics die Spammer-Daten ausblendet, wenn sie bereits in den Statistiken auftauchen. Ich habe dort zwar erklärt, wie man ein solches Segment anlegt, aber keinen Verweis auf mein Segment mitgeliefert — das sei hier nachgeliefert. Über den folgenden Button gelangt man zur freigegebenen Version des Segments.

Etwas wichtiges ist dabei zu beachten:

Die Auswahl der Referer-Spammer in diesem Segment ist natürlich nicht komplett. Es gibt viele hundert Domains die die Spammer nutzen, keine Liste wird je vollständig sein. Aber man kann dieses Segment leicht nach den eigenen Bedürfnissen erweitern: Hat wieder ein Spammer zugeschlagen, einfach eine weitere Zeile hinzufügen.