PHP: Hypertext PreprocessorPHP 7.4.0RC6 Released! (14.11.2019, 00:00 UTC)
The PHP team is glad to announce the sixth release candidate of PHP 7.4: PHP 7.4.0RC6. This continues the PHP 7.4 release cycle, the rough outline of which is specified in the PHP Wiki. Please DO NOT use this version in production, it is an early test version. For source downloads of PHP 7.4.0RC6 please visit the download page. Please carefully test this version and report any issues found in the bug reporting system. For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive. The next release would be 7.4.0, planned for November 28th. The signatures for the release can be found in the manifest or on the QA site. Thank you for helping us make PHP better.
Voices of the ElePHPantInterview with Paul M. Jones (13.11.2019, 20:31 UTC)
Voices of the ElePHPantInterview with Sherri Wheeler (12.11.2019, 15:55 UTC) Link
Voices of the ElePHPantInterview with Sara Golemon and Elizabeth Smith (7.11.2019, 16:05 UTC)
Derick RethansPHP Internals News: Episode 35: Cryptography (7.11.2019, 09:35 UTC)

PHP Internals News: Episode 35: Cryptography

In this episode of "PHP Internals News" I chat with Scott Arciszewski (Website, Twitter, GitHub, Patreon) about the recent PHP-FPM vulnerability and the state of cryptography in PHP.

The RSS feed for this podcast is, you can download this episode's MP3 file, and it's available on Spotify and iTunes. There is a dedicated website:


Music: Chipper Doodle v2 — Kevin MacLeod ( — Creative Commons: By Attribution 3.0

Become a Patron!
Rob AllenTesting migrating to Laminas (6.11.2019, 11:00 UTC)

Zend Framework is renaming to Laminas and all the source code is moving to a new GitHub organisation. Implicitly this means a new PHP top level namespace. As you can imagine, this implies that a lot of our code will need to change, so Matthew, Michał and the team have been writing migration tooling to make this easier.

It's now time to test it and they need all the help they can get on real-world codebases, so let's look at how we do that. I have a relatively large Slim Framework application that uses a variety of Zend Framework components including Zend-Authentication, Zend-Acl, Zend-Config, Zend-Form, Zend-InputFilter and Zend-Mail, so maybe it's a good case-study.

Note: The migration-tooling is currently in testing and not ready for production!

Rather helpfully Matthew has written a guide on how to test the Laminas Migration, so we'll follow the instructions.

Step 1: Install laminas-migration

I already have a global Composer set-up and its bin directory is on my path, so I ensured it was up to date and then installed laminas-migration into it:

$ composer global update
$ composer global require laminas/laminas-migration

(As a side-note, I see that the tools I have in my global composer have changed over time as I no long have PHPUnit globally, but have added, changelog-generator)

Step 2: Create a new branch

Don't work on the main line directly, so next we create a branch:

$ git checkout -b migrate-to-laminas
Switched to a new branch 'migrate-to-laminas'

Step 3: Run the migration

Now we can run the migration tool itself:

$ laminas-migration migrate -e docs

The -e option allows you to excluded directories; I don't want my docs directory to be updated.

Interestingly, the tool provides no output on success, but running git status shows that things happened!

$ git status
On branch migrate-to-laminas
Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git restore ..." to discard changes in working directory)
    modified:   app/modules/Page/src/AdminPageController.php
    modified:   app/modules/Page/src/EditPageForm.php
    modified:   composer.json
    deleted:    composer.lock
    modified:   tests/Unit/Page/AdminPageControllerTest.php
    modified:   tests/Unit/Page/EditPageFormTest.php
    deleted:    lib/Logger/ZendMailHandler.php

Untracked files:
  (use "git add ..." to include in what will be committed)

no changes added to commit (use "git add" and/or "git commit -a")

I've removed a lot of lines, but a few things are of interest:

  • All uses of a Zend component are replaced with Laminas

    In my case, this is nearly always the set of use statements at the top.

    For example, an arbitrary git diff shows:

    use User\User;
    -use Zend\Authentication\AuthenticationService;
    -use Zend\Authentication\Result as AuthenticationResult;
    +use Laminas\Authentication\AuthenticationService;
    +use Laminas\Authentication\Result as AuthenticationResult;
    -use Zend\Stdlib\ArrayUtils;
    +use Laminas\Stdlib\ArrayUtils;
  • Your own classes containing Zend are renamed

    I have a class called ZendMailHandler. This was renamed to LaminasMailHandler and hence the filename lib/Logger/ZendMailHandler.php was renamed to lib/Logger/LaminasMailHandler.php.

    Note that function names, variable names, strings and comments which use the wordZend are not changed, so you'll have to do them yourself if you want to.

  • composer.json is updated. vendor and composer.lock are removed

    After updating composer.json, the migration tool has blown away my vendor directory and removed composer.lock, so I'll need to run composer update to get them back.

  • Step 4; Run composer install

    We need to bring our dependencies back. As we're in testing, we need to manually add the Laminas repository to composer.json, but won't need this after the official migration from Zend Framework to Laminas.

Truncated by Planet PHP, read more at the original (another 1593 bytes)

Voices of the ElePHPantInterview with Mike Price (5.11.2019, 12:30 UTC)

This episode is sponsored by
Using the WordPress REST API

The post Interview with Mike Price appeared first on Voices of the ElePHPant.

Derick RethansXdebug Update: October 2019 (5.11.2019, 09:25 UTC)

Xdebug Update: October 2019

Another month, another monthly update where I explain what happened with Xdebug development in this past month. It will be published on the first Tuesday after the 5th of each month. Patreon supporters will get it earlier, on the first of each month. You can become a patron here to support my work on Xdebug. More supporters, means that I can dedicate more of my time to improving Xdebug.

In October, I worked on Xdebug for about 35 hours, on the following things:

Xdebug 2.8.0 Release

With all the outstanding tickets for 2.8.0dev out of the way, and the release of PHP 7.4 coming at the end of next month, I felt it was right to release Xdebug 2.8.0 on Halloween, yay!

I did not feel the need to make a Release Candidate, as my experience tells me that nobody tests these anyway. I therefore expect to have to make a bug fix release (2.8.1) not too long after PHP 7.4 comes out, as I suspect that some minor bugs and/or inconsistencies with PHP 7.4 will come to light.

Xdebug 3 development

I have continued with the development of Xdebug 3, and am now about 70% done splitting out the different features into more separated modules. When that is done, I can begin to work on improving the initialisation of each module to make sure only the least amount of work is done by Xdebug. During this phase, I expect that some configurations settings are going to change, to prepare the way for having to put Xdebug into a specific mode. However, I do not think that I will start working on this before December, as November is full with travel to conferences. Come and say hi if you're at any of them!

Business Supporter Scheme and Funding

I have had minimal interest for the Business Supporter Scheme that I launched last month. I am a little bit disappointed in this, as I believe that in order to be able to continue to work on Xdebug (instead of having to take a real job), the support from many businesses is really important.

Having said that, during the month, both JetBrains (purveyors of fine IDEs such as PhpStorm) and Automattic (purveyors of have agreed to fund part of my work on Xdebug. JetBrains has agreed to do this for three months, and their funding is reflected in my log. Automattic agree to fund part of my work for a year, and this will show up from next month's log. Thanks!

This month's new supporters are JetBrains, and Automattic. Thanks!

Besides business support, and in addition to Patreon, I was also accepted for GitHub sponsors. The functionality that they provide is not up to par with Patreon, so I will continue to use the latter for exclusive treats like videos and earlier access to information (like this report). However, if you are currently considering chipping in, then GitHub sponsors provides another way of doing so. As they are not paying out anything until after 3 months, this source does not yet feature in the log.


I have been continuing with the PHP Internals News podcast. In this weekly podcast, I discuss in 15-30 minutes, proposed new features to the PHP language with fellow PHP internals developers. It is available on Spotify and iTunes, and through an RSS Feed. Let me know if you are a listener!

Become a Patron!
PHP-GTK CommunityDrupal 8 & NoSQL (1.11.2019, 14:42 UTC)
Première diapo performance et scalabilité Drupal 8 avec NoSQL

Quand et comment utiliser des technologies NoSQL pour améliorer la scalabilité et la performance de Drupal 8.

Cette présentation, données lors de DrupalCon Amsterdam le 30/10/2019, détaille les utilisations de ces technologies, et notamment Redis, MongoDB, Memcached, CosmosDB, ou ElasticSearch; et aussi comment savoir quand il n'est pas utile de les utiliser. <script async="" class="speakerdeck-embed" data-id="72838e567b3747ec84d161b4d1a57f2d" data-ratio="1.77777777777778" src="//">

Derick RethansPHP Internals News: Episode 34: Deprecate Backtick Operator (31.10.2019, 09:34 UTC)

PHP Internals News: Episode 34: Deprecate Backtick Operator

In this episode of "PHP Internals News" I chat with Mark Randall (GitHub) about an RFC that he proposed that would deprecate the backtick operator.

The RSS feed for this podcast is, you can download this episode's MP3 file, and it's available on Spotify and iTunes. There is a dedicated website:

Show Notes


Music: Chipper Doodle v2 — Kevin MacLeod ( — Creative Commons: By Attribution 3.0

Become a Patron!
LinksRSS 0.92   RDF 1.
Atom Feed   100% Popoon
PHP5 powered   PEAR
ButtonsPlanet PHP   Planet PHP
Planet PHP