Re: Converting an 'old' PHP 5.x extension to PHP 7

From: Date: Thu, 10 Dec 2015 17:20:09 +0000
Subject: Re: Converting an 'old' PHP 5.x extension to PHP 7
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-89797@lists.php.net to get a copy of this message
Hi, ----- Mail original ----- > De: "Sjoerd Maessen" <sjoerd.maessen@gmail.com> > À: internals@lists.php.net > Envoyé: Jeudi 10 Décembre 2015 17:51:56 > Objet: [PHP-DEV] Converting an 'old' PHP 5.x extension to PHP 7 > > Hi everyone, > > As a first time poster I'm very nervous but here we go! I've recently > upgraded my development environment to PHP 7. Everything works > amazing > however 1 module I used to use a lot is not ported yet to PHP 7. I've > notified the creator but I thought this also may be a good > opportunity to > see if I can get some more knowledge about this subject. > > I cloned the github repo and was able to remove 1 error during the > compilation process that had to do with ZVAL_STRING. This was an easy > error > to fix since it came down to simply removing an argument. I've read > https://wiki.php.net/phpng-upgrading but still I feel like > there > should be > more resources available after seeing the amount of extensions that > are > already successfully converted for PHP 7. For example I'm now stuck > how to > fix an error like: > > "error: too many arguments to function > ‘zend_hash_get_current_key_ex’" > > Googling won't really help since most results return posts of people > who > fail to install modules. > > How can I continue with making this work? Any good (up-to-date) > resources? > An IRC channel where I can help? pecl-compat include files (https://github.com/flaupretre/pecl-compat) may help, but porting an extension from PHP 5 to 7 remains a complex operation, and there's not so much information available. Unfortunately, compiling without error is generally not enough. Anyway, it does greatly depend on your extension. Some 'pure-bridge' extensions are relatively easy to port. Can you please indicate which extension you are considering ? Regards François

« previous php.internals (#89797) next »