PHP7 Upgrade issues for MySQL extension
View English version
PHP7 upgrade
Na een upgrade naar PHP7 kan het zijn dat (delen van) je website of applicatie niet meer werken. In het geval van WordPress zal dit meestal liggen aan zeer verouderde/niet meer onderhouden plugins. Je kan deze plugins dan updaten of verwijderen/vervangen. Voor maatwerk applicaties is soms meer werk vereist.
Volledige lijst: http://php.net/manual/en/migration70.incompatible.php
PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ...
Reden: All ext/mysql functions were removed
Dit is tijdelijk op te lossen via de volgende code in elke PHP file die dit nodig heeft (of door deze op te nemen in een bestaande include file):
if(version_compare('5.6.0', PHP_VERSION) < 0) { include_once('mysql.php'); }
En het gebruik van de onderstaande mysql file die dan in de folder inc/ geplaatst moet worden: https://github.com/dshafik/php7-mysql-shim/tree/master/lib
PHP Parse error: syntax error, unexpected 'new' (T_NEW)
Reden: New objects cannot be assigned by reference
Oplossing: verwijder & op de regel die in de error wordt genoemd
PHP Parse error: break' not in the 'loop' or 'switch' context
Reden: a break
statement is no longer permitted outside a for
, foreach
or switch
statement and gives a fatal error.
Oplossing: herschrijf code die break gebruikt buiten deze 3 statements, b.v. in een if statement
PHP Fatal error: Call to undefined function eregi
Reden: deze functie is sinds PHP 5.3 deprecated, en sinds 7.0 niet meer aanwezig
Oplossing: gebruik preg_match
() in plaats hiervan