Categories
PHP

PHP 7.0.4 for Jessie

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 replies on “PHP 7.0.4 for Jessie”

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. ๐Ÿ™

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.

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”.

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

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!

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?

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

+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

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?

“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.
————————-

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.

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

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.

Thanks for providing this repo!

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

Comments are closed.