Posted by & filed under PHP.

On June 23rd 2016, the PHP group published PHP 7.0.8.

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.

Please also note that bcmatch, dba, mbstring, soap, xml and zip now have their separate dedicated packages.

Packages of PHP 7.0.8 are now available for Debian 8 “Jessie” on amd64 and i386 architectures, along with the following PECL extensions : APCu, APCu_bc, geoip, igbinary, imagick, memcached, mongodb, msgpack, redis, ssh2 and xdebug (Careful, PHP 7 support from some of them is still very young!).

As usual :

73 Responses to “PHP 7.0.8 for Jessie”

  1. Alexandre

    I am currently provisioning a lot of virtual machines and the last one got this version. There is an error with xdebug :

    Setting up php7.0-xdebug (1:2.4.0-1~dotdeb+8.1) …
    WARNING: Module xdebug ini file doesn’t exist under /etc/php/7.0/mods-available
    WARNING: Module xdebug ini file doesn’t exist under /etc/php/7.0/mods-available
    Processing triggers for libc-bin (2.19-18+deb8u4) …
    Processing triggers for systemd (215-17+deb8u4) …
    Processing triggers for php7.0-fpm (7.0.8-1~dotdeb+8.1) …

  2. Dimitry

    We have a problem after this update with imagick and geoip.
    ini files are not created in /etc/php/7.0/mods-available, this files located in /etc/php/mods-available and this file does not exists /etc/php/7.0/apache2/conf.d/20-imagick.ini

    Enabling modules does not work:
    phpenmod imagick
    WARNING: Module imagick ini file doesn’t exist under /etc/php/7.0/mods-available

    Reinstalling after purge is the same.
    With ssh2 ext would be exact same problem.

    Please fix ini locations or so….

  3. canique

    After upgrading to this release I get the error that the function mb_internal_encoding () is undefined.

    There must be something wrong with this release.

  4. canique

    Yeah, sorry, I just saw the hint that some functions like xml and mbstring are in separate packages now.
    thanks anyway 🙂

  5. Eugen Mayer

    It seems like you do compile php7 without XML support now (build in) this is very critical, since pecl expect xml to be build in.

    when it runs any installation scripts, it uses php -n .. so not php.inis are parsed and no “not build in” modules are loaded.

    This renders pecl completly broken.

    Also see

  6. Oli

    Two things to do after update (if you need these modules, they’re not included as usual) :
    sudo apt-get install php7.0-mbstring
    sudo apt-get install php7.0-xml

  7. Alessandro

    Hi Guillaume,

    after the upgrade phpMyAdmin doesn’t work anymore. There is the error: PHP Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding()

    Now I roll back to previous version and everything work again, do you suggest to wait before upgrading again?

    Thank you for your help! 🙂


  8. Alessandro

    The solution:

    install the following packages:
    apt-get install php7.0-mbstring
    apt-get install php7.0-xml
    apt-get install php7.0-gd

    and the restart Apache:
    service apache2 restart

    Now everything is ok! 🙂


  9. Vincent Bouffard

    Hello Guillaume,

    Merci pour cette mise à jour 7.0.8.
    Cependant, quand je tente de faire la mise à jour “aptitude safe-upgrade” comme d’habitude, j’ai les infos suivantes :

    Les paquets suivants seront ENLEVÉS :
    apache2{u} apache2-data{u} libqdbm14{u} php-readline{u} ssl-cert{u}
    Les paquets suivants seront mis à jour :
    libapache2-mod-php7.0 php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline

    C’est la première fois que la mise à jour me propose de supprimer Apache 2, alors que pourtant le paquet libapache2-mod-php7.0 en dépend.

    Est-ce une erreur de ma part (cela se reproduit sur mes 8 serveurs) ou est-ce un souci de dépendance lors de la compilation ?

    Merci d’avance 🙂


  10. David Goodwin

    For me, an apt-get dist-upgrade breaks and it’s necessary to “apt-get install -f”.
    I’m hoping there will be some new builds of these ….

    Unpacking php7.0-xml (7.0.8-1~dotdeb+8.1) …
    dpkg: error processing archive /var/cache/apt/archives/php7.0-xml_7.0.8-1~dotdeb+8.1_amd64.deb (–unpack):
    trying to overwrite ‘/usr/lib/php/20151012/’, which is also in package php7.0-xsl 7.0.6-1~dotdeb+8.1
    Preparing to unpack …/php7.0-xsl_7.0.8-1~dotdeb+8.1_all.deb …

  11. S. Maad

    Just like mentioned by @Alexandre, I am having the same issue.

    Unable to install/upgrade php 7 packages due to the change in path of “mods-available”. Can we expect a fix soon?

  12. Dennis

    We had to run `apt-get -f install ` on all of our servers (which are under puppet control) to fix the missing xml package. Also we are unable to install pecl extensions due to the missing xml.

  13. Andrew

    Application writed in Zend2

    php-fpm7.0[8228]: segfault at 7ffcd4f8ffa0 ip 00007f0d50577b39 sp 00007ffcd4f8ff70 error 6 in php-fpm7.0[7f0d50318000+456000]

  14. Thomas

    php-fpm with typo3 segfaults on each request:

    *** Error in `php-fpm: pool www’: free(): invalid next size (fast): 0x000055ef4c8f0d10 ***
    [28-Jun-2016 10:27:28] WARNING: [pool www] child 18398 exited on signal 6 (SIGABRT – core dumped) after 8.582213 seconds from start

  15. Salikh

    Thanks for this update! Very need php7.0-mbstring. Will you add it?

  16. Salikh

    apt-cache search mbstring
    php7.0-mbstring – MBSTRING module for PHP

    Question closed

  17. Ovidiu

    I’ve got a slightly different problem here, I not yet using PHP7, still on 5.6 and when updating php-pear it now wants to pull in PHP7.

    root@alfred:~# apt-get dist-upgrade -u
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Calculating upgrade… Done
    The following NEW packages will be installed:
    php-cli php-common php-xml php7.0-cli php7.0-common php7.0-json php7.0-opcache
    php7.0-readline php7.0-xml
    The following packages will be upgraded:
    1 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
    Need to get 2,382 kB of archives.
    After this operation, 10.9 MB of additional disk space will be used.
    Do you want to continue? [Y/n] n
    root@alfred:~# apt-cache policy php-pear
    Installed: 5.6.22+dfsg-0+deb8u1
    Candidate: 1:1.10.1+submodules+notgz-8
    Version table:
    1:1.10.1+submodules+notgz-8 0
    600 jessie/all amd64 Packages
    *** 5.6.22+dfsg-0+deb8u1 0
    500 jessie/updates/main amd64 Packages
    100 /var/lib/dpkg/status
    5.6.20+dfsg-0+deb8u1 0
    500 jessie/main amd64 Packages

  18. blubbsy

    since the update i cant work with php7.0-zip. i always get the error “php7.0-zip : Depends: libzip2 (>= 0.11.2) but it is not installable”. Any way to fix this somehow?

  19. Vincent Bouffard

    @Guillaume : je n’avais pas le paquet apache2-mpm-prefork d’installé (même si le module était bien présent), c’est chose faite suite à ton message et depuis, il ne me propose plus de l’enlever 😉

    Merci pour l’info, je peux passer en PHP 7.0.8 🙂

  20. Stefan

    Not sure yet what this is related to, but I get the following errors on startup after the upgrade:

    Jun 30 07:46:28 srv01 php-fpm7.0[8150]: [30-Jun-2016 07:46:28] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20151012/’ – /usr/lib/php/20151012/ undefined symbol: mysqlnd_connect in Unknown on line 0
    Jun 30 07:46:28 srv01 php-fpm7.0[8150]: [30-Jun-2016 07:46:28] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20151012/’ – /usr/lib/php/20151012/ undefined symbol: mysqlnd_allocator in Unknown on line 0
    Jun 30 07:46:28 srv01 php-fpm7.0[8150]: [30-Jun-2016 07:46:28] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20151012/’ – /usr/lib/php/20151012/ undefined symbol: pdo_parse_params in Unknown on line 0

  21. sousstudio

    Could you please be so kind to recompile it against OpenSSL 1.0.2+?

    The problem: Google’s policy decision made so that in order for HTTP2 to work, you need ALPN, which is only available on OpenSSL 1.0.2+. The problem is building your package from source fails for some reason, and your version compiled against OpenSSL 1.0.1 so we cannot use PHP7-FPM with HTTP2.

  22. Guillaume Plessis

    @sousstudio : sorry but :

    • OpenSSL 1.0.2 is not present in Jessie
    • I don’t want to take the responsibility of maintaining the backport of such a sensible library
  23. sousstudio

    So, basically no luck having latest security library with latest HTTP2?

    See, apt-get source php7.0 && apt-get build-dep php7.0 && debuild -us -uc -b fails.

    Could you perhaps make 1 build and put it here? I’m sure many frustrated admins will be dying to download it.

  24. Guillaume Plessis

    @Amador : I’m currently working on having a dual (zts and non-zts) build system integrated into Debian unstable. No ETA yet, sorry

  25. Frank

    Hello, thanks for your work but how I can remove PHP 7 from Debian Jessie? I need PHP 5.6 from the Debian repository.

  26. WHAT

    What the F*CK happend to MYSQLI?
    PHP Fatal error: Uncaught Error: Class ‘mysqli’ not found

    Thank you for shit.

  27. Guillaume Plessis

    @What : FYI the included configuration files have been moved to /etc/php/7.0/fpm/conf.d/ between 7.0.7 and 7.0.8 (it is automatically handled by the post-installation script). If any *-mysqli.ini file is present in this directory and if it’s correct, then mysqli should be loaded.

    It is apparently not your case, so could you please track any error while invoking php-fpm7.0 -m or php-fpm7.0 -i. Thanks.

  28. Guillaume Plessis

    @Stefan : sorry for the late answer. Could you please make sure that pdf, opcache and mysqlnd are being loaded first by using 10-*.ini files (instead of 20-*.ini) in /etc/php/7.0/cli/conf.d/. It should solve your issue.

  29. Guillaume Plessis

    @WHAT : here is the list you should have (with the corresponding priority in every file, according to its name):


    As explained before, mysqlnd, pdf (not pdo_mysql) and opcache should have a priority of 10, and only them.

  30. WHAT

    Thank you for your time and work. I’ll heading home now.

  31. Guillaume Plessis

    @WHAT : I’m glad that your issue has been fixed. Thanks for your feedback about breaking changes.

    Let me just remind you – regarding your first comment – that using the f* and sh* words while asking for help is not the most efficient way to get some.

    Have a safe trip home.

  32. Guillaume Plessis

    @Frank : this is caused by a too restrictive permission on php-pear. I’m working on a fix.

    In the meantime, if you don’t need this particular package, you should uninstall it, it will solve your dependency issue.

  33. Alexey Genus

    Thank you! Couldn’t find them on your main profile page.
    Will now investigate how you package extensions.

  34. Steven

    Have the same issue here. I want to stick with 5.6. But I am forced to update to 7 when using php-pear (via php-pear -> php-cli -> php7.0-cli). So I’m looking forward to your patch.

  35. Jaroslav Petrusevic


    any updates on php7-gearman package?

    Thank you!

  36. Olivier

    Hi Guillaume, thanks for all your work! Do you intend to build the Memcache extension for php7 (Memcache, not Memcached…)


  37. Kenny Millington


    The -dbg package appears to be missing for 7.0.8+ because Debian have updated the package to:-

    * Remove -dbg from control/
    * Updated debian/rules to use dh_strip –dbgsym-migration instead of –dbg-package (and removed the PHP_DBG variable)

    You might want to revert those changes when building jessie packages so that the -dbg package is generated.


  38. foto

    Sorry for easy question. Where I find php.ini ? it’s correct /etc/php/7.0/fpm/php.ini ?

    I increased max_input_vars to 10000 but reload php-fpm + ngnix and turn off and start VPS dont change error from log (piwigo administration sitemap plugin)

    error ngnix log: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. ….

  39. foto

    hmm I remove ” ; ” before max_input_vars and it work 😉

  40. foto

    eh I’m green user. When I remove ” ; ” I have no error 🙂