Skip to content

Neuerungen auf ITrig - HTTPS und Serendipity mit PHP7

HTTPS

Wie angekündigt ist ITrig nun auch via HTTPS erreichbar. Das Zertifikat stammt von Lets Encrypt und sollte somit von jedem Browser erkannt werden.
Diese Zertifikate sind momentan nur 90 Tage gültig und müssen danach erneuert werden.

lets-encrypt

Mit Hilfe eines Script lässt sich die Aktualisierung leicht automatisieren. Es gibt von offizieller Seite eine Hilfestellung für Nginx Server, siehe Nginx Blog.

#!/bin/sh

cd /opt/letsencrypt/
./letsencrypt-auto --config /etc/letsencrypt/configs/my-domain.conf certonly

if [ $? -ne 0 ]
 then
        ERRORLOG=`tail /var/log/letsencrypt/letsencrypt.log`
        echo -e "The Let's Encrypt cert has not been renewed! \n \n" \
                 $ERRORLOG
 else
        nginx -s reload

fi

exit 0

Weitere Varianten für Apache und Co sind bei letsencrypt im Forum zu finden (Link).

php


PHP 7 und Serendipity

Seit Ende letzten Jahres steht PHP7 zur Verfügung. Aus diesem Grund habe ich vor einigen Tagen testweise auf die neuen PHP Version umgestellt. Nach der Umstellung gab es Probleme mit dem Cache_Lite Plugin. Die letzte stabile Version (1.7.16) stammt aus dem Jahr 2014 und hat mit PHP7 so seine Probleme.

Durch das Anpassen der Datei lite.php zu finden unter "/serendpity/bundled-libs/" konnte ich die entstehenden Fehler mit der s9y JavaScript Library beheben.

Fehlermeldung s9y PHP7

<script>
if(typeof errorHandlerCreateDOM == "function") {
var fragment = window.top.errorHandlerCreateDOM("Error redirect: == SERENDIPITY ERROR == <p>Methods with the same name as their class will not be constructors in a future version of PHP; Cache_Lite has a deprecated constructor in /home/www/blog/bundled-libs/Cache/Lite.php on line 29</p>");
document.body.insertBefore(fragment, document.body.childNodes[0]);
}
</script>
<noscript> == SERENDIPITY ERROR == <p>Methods with the same name as their class will not be constructors in a future version of PHP; Cache_Lite has a deprecated constructor in /home/www/blog/bundled-libs/Cache/Lite.php on line 29</p></noscript>
/ Dynamically fetched templates/2k11/admin/serendipity_editor.js.tpl on , called from: include/plugin_api.inc.php:external_plugi
n /

Lösung

Anpassen der Funktion in der lite.php

function Cache_Lite($options = array(NULL))

zu

function __construct($options = array(NULL))

Danach konnte das s9y Backend mit PHP 7.0.3 ohne Probleme geladen werden. Details sind im s9y Forum zu finden.

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
Form options