Homepage von Basti1012 = ,Hauptmenü
Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung


Wegen Corona: Keine Build 2020 in Seattle. (Foto: Shutterstock)

Microsoft hat die Build 2020 abgesagt. Die Entwickler-Konferenz ist eines der größten Jahres-Events des Herstellers. Sie soll nun ausschließlich online stattfinden.

Die für den Zeitraum vom 19. bis 21. Mai im US-amerikanischen Seattle geplante Entwickler-Konferenz Microsoft Build 2020 ist abgesagt, zumindest soweit es um das reale Treffen vor Ort geht. Das berichtete zuerst The Verge, kann aber zwischenzeitlich auch auf der Startseite des Events nachgelesen werden.

Build 2020 als digitales Event, das Wie ist unklar

Der Hersteller will aus der Build 2020 nun ein ?digitales Event? formen, um Entwickler dennoch zusammenzubringen. Details, wie das konkret aussehen könnte, hat Microsoft allerdings bislang nicht mitzuteilen.

Obschon die Build traditionell eine Entwickler-Konferenz ist, nutzt Microsoft das Event gern, um Produktneuheiten, etwa Updates zu Windows oder den Office- und anderen Produkten, vorzustellen. Für dieses Jahr waren detailliertere Informationen und Vorführungen zu Microsofts neuen Klappgeräten für Android und Windows 10X sowie Näheres zu eben diesem Windows 10X erwartet worden.

Absage der Build 2020 war absehbar

Die Absage der Build 2020 kommt nicht überraschend. Schon zuvor hatten die großen Technikunternehmen ihre Hausmessen sukzessive und unter dem Eindruck des Fortschreitens der durch das neuartige Coronavirus Sars-CoV-2 ausgelösten Pandemie abgesagt. Auch die SXSW war erstmals in 34 Jahren abgesagt worden. In Deutschland traf es zuletzt die Internet World Expo und die OMR.

Tatsächlich erscheint das Konzept des Social Distancing als ?beste Verteidigungsmaßnahme gegen die Ausbreitung des neuartigen Coronavirus, vor allem da weder Impfstoffe noch Behandlungsmethoden dagegen zur Verfügung stünden?, so The Verge.

Passend dazu: Coronavirus: Die rechtlichen Folgen bei Absage von Messen und Konferenzen



PHP 7 Migration

Nun war es also Zeit, diesen beschaulichen Server auf PHP7 zu heben.

Die Installation

… lief straight forward, wie man es gewohnt ist. Hier läuft ein Apache 2 mit mod_php auf (aktuell) Ubuntu 15.04, also das absolute Standardsetup. Da PHP7 standardmäßig noch nicht in ubuntu enthalten ist, müssen wir vom ppa von ondrej Gebrauch machen, welches sowohl PHP5.6 als auch PHP7 beinhaltet und regelmäßig aktualisiert wird.

apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common
apt-get --purge autoremove
apt-get update
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php-7.0
sudo apt-get install php7.0 php7.0-dev php7.0-mysql php7.0-gd php7.0-curl php7.0-sqlite php7.0-intl
php -v
service apache2 restart

Läuft, bei mir folgende Ausgabe:

PHP 7.0.1-4+deb.sury.org~vivid+1 (cli) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Probleme & Fallstricke

Imagemagick

Da es noch kein php7.0-imagemagick gibt, war eine händische Installation nötig:

apt-get install imagemagick
cd /tmp
wget http://pecl.php.net/get/imagick-3.4.0RC2.tgz
tar xvzf imagick-3.4.0RC2.tgz
cd imagick-3.4.0RC2
phpize
./configure
make install
echo extension=imagick.so >> /etc/php/7.0/cli/php.ini
echo extension=imagick.so > /etc/php/7.0/apache2/conf.d/20-imagick.ini
service apache2 restart

mcrypt

Ursprünglich habe ich php7.0-mcrypt mitinstalliert, welches sich dann per Warning geäußert hat, dass es bereits geladen wurde.

Module 'mcrypt' already loaded in Unknown on line 0

Die Migration

WordPress 4.4 verträgt sich gut mit PHP7, zumindest gilt das für den Core. 2 Probleme gab es bei den Plugins:

w3 total cache (aktuell in Version 0.9.4.1) schmeißt einen Haufen Warnings und Fehler, sodass ich es erstmal deaktiviert habe.

Nicht so einfach gestaltete sich das zweite problematische Plugin CodeColorer, welches ich für das Syntax Highlighting verwende. Da es seit über 2 Jahren nicht mehr angepasst wurde, ist eine PHP7 Kompatibilität auch nicht direkt zu erwarten gewesen. Problem: Der /e Modifier in preg_replace ist seit PHP5.5 deprecated.

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ...

Also frisch ans Werk und alle preg_replace-Vorkommen mit dem /e modifier auf das nun zu verwendende Callback-Format umgestellt:

Alt:

$content = preg_replace('#(\s*)(\[enlighter[^\s\]_]*(?:_[^\s\]]*)?[^\]]*\].*?\[/enlighter\1\])(\s*)#sie', '$this->PerformProtectComment(\'\\2\', $content, \'\\1\', \'\\3\');', $content);

Neu:

$content = preg_replace_callback('#(\s*)(\[enlighter[^\s\]_]*(?:_[^\s\]]*)?[^\]]*\].*?\[/enlighter\1\])(\s*)#si', function($matches)
{
	return $this->PerformProtectComment($matches[2], $content, $matches[1], $matches[3]);
}, $content);	

Relevante Änderungen in PHP7

Ich habe die relevantesten Änderungen in PHP7 in Präsentationsform für meine Lehrveranstaltung „Entwicklung webbasierter Anwendungen“ an der Hochschule Darmstadt zusammengefasst. Die Präsentation darf gerne verwendet werden (auf Anfrage schicke ich auch gerne die ppt).

Für mich sind das:

An weggefallenen oder nun veralteten Dingen ist eigentlich nichts von großer praktischer Relevanz.

Ganz lustig ist der „rant“ über das neue „division by zero“ Verhalten. Seit PHP7 ist das Ergebnis beim Teilen durch 0 „INF“ bzw. „-INF“. Eine Warning gibt es zusätzlich noch, vor PHP7 kam als Ergebnis „false“ heraus. Nach IEEE754 stellt sich die Sache aber nicht ganz so einfach dar. Da es die Warning nach wie vor gibt, sollte auch diese Umstellung keine großen Probleme verursachen.

In closing

Auf Arbeit fahren wir einen Multi PHP-Ansatz, um mehrere PHP Versionen mit Fast CGI parallel laufen zu lassen. Das ist sehr praktisch für eine schrittweise Migration. Symfony ist ja auch schon seit geraumer Zeit voll PHP7-fähig. Allein aus Gründen des gesunkenen Speicherverbrauchs und der besseren Laufzeitperformance ist man ja quasi schon zum Update gezwungen ;-).

Umwetter Warnumgen und Wetter vorschau