Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89798 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 136 invoked from network); 10 Dec 2015 17:22:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Dec 2015 17:22:54 -0000 Authentication-Results: pb1.pair.com smtp.mail=adam@adamharvey.name; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=adam@adamharvey.name; sender-id=pass Received-SPF: pass (pb1.pair.com: domain adamharvey.name designates 209.85.215.42 as permitted sender) X-PHP-List-Original-Sender: adam@adamharvey.name X-Host-Fingerprint: 209.85.215.42 mail-lf0-f42.google.com Received: from [209.85.215.42] ([209.85.215.42:34361] helo=mail-lf0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 85/C1-24183-DE4B9665 for ; Thu, 10 Dec 2015 12:22:53 -0500 Received: by lffu14 with SMTP id u14so61771363lff.1 for ; Thu, 10 Dec 2015 09:22:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adamharvey.name; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=X0y2rAHlvF60+l7NL+wC4gnO4YTxfIRP7G5uYmRvWxI=; b=SzJwxJMAxzl8N+eJ3VAhtWFW8XVCZ7JFsBrHTVZBtYIYroPgnHrT8w8e7SX7SVgLS5 U2dIGRigcyU7wlg5v9FynLVQvF54b1AQdDESQrZWwrPN3w1GdjgRGiigG/FPrQIo66Rt ESKFEOUQ3wtPQWYMEn5IQMyP9+pGUHcaTadH4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=X0y2rAHlvF60+l7NL+wC4gnO4YTxfIRP7G5uYmRvWxI=; b=dt9ko41IEqMf4dszJrf+GyOfWM2PGmA7z3w/PN58jg7eertxAuzAd56utrwqAdV2Lb izHDjrUokmfZN6hUO4FaDGLf+x5EF8PihIrTXGOFGLninH8XLUEwFxcMTL0FbV/LcSQQ 6qdxAmtDZYHy/oXWVVVgtNl51gZdoi1QQCVHyTU+R8x/ZGJFQXrk5s2vfJaVZ+kI9pr7 bwKzgHRqbR2S7GMXQU76lj3yMAmEGau8QQN99mBCZbzW3m/Wpsh60uFvG4o7WPZXJT9H 5d5sXxwi7vp8f0H7GCOTcW3E2Dx/KItImfLOLNXy1rhTbqMxGmUI+64YCBRejAaanzhZ oRVg== X-Gm-Message-State: ALoCoQkLEDPNCmk1MhU22pzeSiVWjthtmFhiWs+8/fTluAzr6pB+JTesjdorBOQXoIeoE7pYejhP5EdA56uiCqH8+P2w8EI9Gw== X-Received: by 10.25.137.84 with SMTP id l81mr5684974lfd.45.1449768170422; Thu, 10 Dec 2015 09:22:50 -0800 (PST) MIME-Version: 1.0 Sender: adam@adamharvey.name Received: by 10.25.24.212 with HTTP; Thu, 10 Dec 2015 09:22:30 -0800 (PST) In-Reply-To: References: Date: Thu, 10 Dec 2015 09:22:30 -0800 X-Google-Sender-Auth: 6g6-fPl55OgOZElghzTwrL2wMJc Message-ID: To: Sjoerd Maessen Cc: PHP internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Converting an 'old' PHP 5.x extension to PHP 7 From: aharvey@php.net (Adam Harvey) On 10 December 2015 at 08:51, Sjoerd Maessen wro= te: > As a first time poster I'm very nervous but here we go! Welcome! > 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 err= or > 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 b= e > more resources available after seeing the amount of extensions that are > already successfully converted for PHP 7. For example I'm now stuck how t= o > fix an error like: > > "error: too many arguments to function =E2=80=98zend_hash_get_current_key= _ex=E2=80=99" We don't really have comprehensive documentation of how internal APIs have changed from 5 to 7. Beyond the things noted on the phpng and phpng-upgrading pages on the wiki, the best resource is probably lxr.php.net, where you can look up a definition on both the PHP-5.6 and PHP-7.0 branches and see how they've changed. For the most part, extension API changes are largely around things like removing indirection on zvals, HashTables now containing zvals rather than void pointers, and strings being represented as zend_string structs rather than paired char * and int pointers. > How can I continue with making this work? Any good (up-to-date) resources= ? > An IRC channel where I can help? There is #php.pecl on efnet =E2=80=94 it's not the highest traffic channel, but if you're patient there'll generally be someone around who can help. Adam