Posted by & filed under PHP.

On March 3rd 2016, the PHP group published PHP 7.0.4.

This is a security release. Several security bugs were fixed in this release. All PHP 7.0 users are encouraged to upgrade to this version.

Packages of PHP 7.0.4 are now available for Debian 8 “Jessie” on amd64 and i386 architectures.

Please note that :

  • PHP 7 and PHP 5 from Jessie are now co-installable on the same machine
  • Packages of the following PECL extensions are now available : APCu, APCu_bc, igbinary, imagick, memcached, mongodb, msgpack, redis and xdebug. Careful, PHP 7 support from some of them is still very young.
  • the memcached.serializer is now igbinary by default. You should change it back to php if you’re upgrading from a previous version.
  • The thread-safe version of all these packages will be published soon.

As usual :

28 Responses to “PHP 7.0.4 for Jessie”

  1. Anony

    When will be php7.0-geoip and php7.0-gearman available? You said back in december that you’re working on the geoip module, but I still see nothing in the repo. ๐Ÿ™

  2. mikhal

    please note, that Xdebug 2.4.0 is out
    (with full php 7.0 support)

  3. Eugen Mayer

    Igbinary seems to be broken in this build, it generates segfaults.

    I dont think letting memached basing on it is yet a good idea, until igb stabalizes for PHP7.

    Dont get me wrong, i love igb – but it is simple not yet stable.

  4. Aske

    Also having several problems with segmentation faults when igbinary is installed. Uninstalling the package didn’t work, had to remove it from the config file “/etc/php/7.0/cli/conf.d/20-igbinary.ini”.

  5. Arkandias

    Thanks for the work! +1 for php7.0-geoip, I am really looking forward to it ๐Ÿ™‚

  6. Alessandro

    Hi Guillaume, I installed php7.0-mysql, but I noticed that the databse client version is very old: libmysql – mysqlnd 5.0.12-dev – 20150407 – $Id: f59eb767fe17a6679589b5c076d9fa88d3d4eac0 $. How can I upgrade it to be the same of the server (5.6.29)? Thank you for your help!

  7. Alessandro

    Thank you for your reply. But in php info, in the section “mysqlnd”, I also have “mysqlnd 5.0.12-dev – 20150407 – $Id: f59eb767fe17a6679589b5c076d9fa88d3d4eac0 $ “. So it seems that my MySQL native driver is old, or am I wrong?

  8. pedro

    Hi Guillaume, what are your build flags? compiling it by myself, I get a 300ms loss. thanks

  9. รngel Guzmรกn Maeso

    +1 for php7.0-geoip. It is the only package that left for me and make a sucessfull migration to php 7.0 apps.

    PHPMyadmin already is compatible with php7.0 and easily instalable in Debian through PHPmyadmin PPA

    https://launchpad.net/~nijel/+archive/ubuntu/phpmyadmin?field.series_filter=xenial

    https://bugs.launchpad.net/ubuntu/+source/phpmyadmin/+bug/1555012

    See php7.0-phpseclib that was needed for phpmyadmin
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817272

  10. Eugen Mayer

    There are serious issues with the current build.

    When using memached with igbinary, segfaults are the result ( should be easily reproduceable ).

    When disabling igbinary and settings memached.serializer=php .. memcached cannot be loaded :

    PHP Warning: Cannot load module ‘memcached’ because required module ‘igbinary’ is not loaded in Unknown on line 0

    This means a deadlock, isnt it?

  11. Christoph

    “PHP 7 and PHP 5 from Jessie are now co-installable on the same machine”

    This does not work for me on Debian 8. I have the regular 5.6 release from the Debian repositories and then the php7.0 releases from dotdeb, but when I want to install anything php7-related, I get errors like

    ————————-
    # apt-get install php7.0-fpm php7.0-gd php7.0-curl php7.0-redis php7.0-igbinary -V
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php7.0-fpm : Depends: php7.0-cli but it is not going to be installed
    php7.0-gd : Depends: libgd3 (>= 2.1.1) but 2.1.0-5 is to be installed
    E: Unable to correct problems, you have held broken packages.
    ————————-

    Just trying to get the minimal setup results in

    ————————-
    # apt-get install php7.0 php7.0-common -V
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php7.0 : Depends: libapache2-mod-php7.0 (>= 7.0.3-5~) but it is not going to be installed or
    php7.0-cgi (>= 7.0.3-5~) but it is not going to be installed or
    php7.0-fpm (>= 7.0.3-5~) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
    ————————-

  12. Christoph

    Apparently there was a problem with my server. I had Debian testing in my sources (to get a recent OpenSMTPD release) and pinned all releases to stable versions (/etc/apt/preferences). Removing sources and the pins made installing PHP7 work as expected.

    Sorry for the confusion.

  13. Markus

    Would be wonderful to also have the armhf version. PHP7 on a raspberry is really a game changer.

  14. Sebastian

    You can easily create your armhf packages from the source package of dotdeb.
    Something like this should do it for you.

    >>>
    # build chroot env
    cd ~
    cdebootstrap -f build jessie php7

    # add apt cources
    cp -a /etc/resolv.conf php7/etc/resolv.conf
    cp -a /etc/apt/* php7/etc/apt/.

    echo “deb-src http://packages.dotdeb.org jessie all” >> php7/etc/apt/source.list.d/php7.list

    # change to chroot env
    apt-get update
    apt-get install bash-completion less wget vim netcat

    # search for sources of package
    apt-cache showsrc php7.0

    # add build dependencies to chroot env
    apt-get build-dep php7.0

    # rebuild package from dotdeb source package
    mkdir ~/php7-armhf; cd ~/php7-armhf
    export DEB_BUILD_OPTIONS=parallel=4
    apt-get –build source php7.0

    ###
    # or if you want to do some modifications before building …
    mkdir ~/php7-armhf; cd ~/php7-armhf
    apt-get source php7.0
    cd php7.0-7.0.4

    # do some modifications and rebuid in php7.0-7.0.4
    export DEB_BUILD_OPTIONS=parallel=4
    dpkg-buildpackage -b -uc -us

    ###

    <<<

    After compiling successfully, you can find *deb; *dsc packages in ~/php7-armhf. You can add them to your own repository or copy them to your local machine and install them directly.

  15. Thomas

    Thanks for providing this repo!

    How can I use pecl for php7 to install additional modules (oauth in my case)?