PHP 5.4.7 and PHP 5.3.17

On september 13th 2012, the PHP group has released PHP 5.4.7 and PHP 5.3.17, that bring ~20 bug fixes.

The corresponding packages are now available on Dotdeb for Debian 6.0 “Squeeze” on both amd64 and i386 architectures with the following changes :

  • php5-suhosin is not a recommendation from php5-common anymore.
  • php5-xcache now includes the admin web interface files (closes #10).
  • php5-apc includes APC 3.1.13 for PHP 5.4, and has been rollbacked to APC 3.1.9 for PHP 5.3 for more stability.

About the PHP-FPM and APC issues, the packages include all that has been committed/released about the many bug reports on these subjects. I’m still watching any activity that would allow me to provide better packages.

As usual, please read the ChangeLog before upgrading and be sure to use to the latest packages before reporting any issue.

59 replies on “PHP 5.4.7 and PHP 5.3.17”


I just upgraded to 5.3.17. Like in 5.3.16 and 5.3.15 I have segmentation faults when using xcache PHP module in combination with ionCubeLoader PHP module. 5.3.14 is not affected. Without xcache PHP module everything works also fine in 5.3.17.

Best wishes

The following packages have unmet dependencies:
php5-suhosin : Depends: php5-common (= 5.3.17-1~dotdeb.0) but 5.4.7-1~dotdeb.0 is to be installed
E: Broken packages

Thank you for all the great work you do and have done, Guillaume.

I use your PHP 5.3.17 on Debian Squeeze 64bit with Apache Worker and FastCGI (via Varnish and mod_pagespeed), but your downgraded APC version gave me big problems with WordPress and W3 Total Cache.
About 3 to 10 times an hour, the user cache became empty and my site became slow.

I didn’t find any info in the apache error logs, so I decided to uninstall php5-apc. And… I installed apc-beta via pecl, version 3.1.13 (the newest).

Now everything is well and my site is fast again.

I tried to update my php version 5.3.3 for the current but managed only 5.3.17. I would like to update to version 5.4.7. ‘m doing something wrong?
deb squeeze-php54 all
deb-src squeeze-php54 all

# apt-get update
Hit squeeze-php54 Release.gpg
Ign squeeze-php54/all Translation-en
Hit squeeze-php54 Release
Hit squeeze-php54/all Sources
Hit squeeze-php54/all amd64 Packages
Reading package lists… Done

# apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages have been kept back:
libapache2-mod-php5 php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-imap
php5-mcrypt php5-mysql php5-sqlite php5-xsl
0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

@Tiago : try to use a more verbose package manager (dselect, aptitude, synaptic) to know what prevents the PHP upgrade (a broken dependency or a missing package, for example). Don’t hesitate to tell me more about it.

@Joe Auty : don’t install php5-suhosin if you don’t need its functions. About the PHP 5.4 compatibility, its development has kinda been stalled, so its inclusion is not granted for sure.

There are problem with php5-xhprof package:

Настраивается пакет php5-xhprof (5.4.7-1~dotdeb.0) …
/var/lib/dpkg/info/php5-xhprof.postinst: 22: local: not in a function


J’ai installé Nginx avec php en mode php-fpm (sur une Debian 6), et ajouté quelques vhosts avec les
pools php correspondants.

Lorsque je lance php-fpm :
/etc/init.d/php5-fpm start

Le processus se lance, ça à l’air de fonctionner (les scripts php sont
bien interprétés sur les différents vhosts).

Mais par contre la console ne me rend pas la main, je suis obligé de
lancer une autre console.

Je me suis fait un petit script pour créer un nouveau vhost dans
Nginx, puis le pool php correspondant, et à la fin, je “reload” Nginx
et “restart” php-fpam avec
/etc/init.d/php5-fpm restart

puis au bout d’un certain temps, j’obtiens :
Restarting PHP5 FastCGI Process Manager: php5-fpm failed!

Je suis obligé de killer les processus php5-fpm (killall -9 php5-fpm)
pour refaire un
/etc/init.d/php5-fpm start

Où on repars à la problématique du début mais au moins les scripts php

Si je regarde les logs d’erreur de php-fpm, j’ai pourtant ça lors d’un start :

[26-Sep-2012 00:31:24] NOTICE: configuration file
/etc/php5/fpm/php-fpm.conf test is successful

[26-Sep-2012 00:31:24] NOTICE: fpm is running, pid 2674
[26-Sep-2012 00:31:24] NOTICE: ready to handle connections

et ça lors d’un restart :
[26-Sep-2012 00:42:02] NOTICE: Finishing …
[26-Sep-2012 00:42:02] NOTICE: exiting, bye-bye!

Donc en résumé le start à bien l’air de démarrer les processus mais ne
me rend pas la main et le restart stop les processus sans redémarrer
(failed), je dois killer les processus et faire de nouveau un start…

Avez-vous une idée du pourquoi ?


impossible de mettre à jour la version de mon lamp dotdeb, maintenant j’ai toujours ce message:

php5 (5.4.4-5) unstable; urgency=low

* As a security measure the default configuration for Apache 2 has been
changed to a stricter model. Only files which have the correct
rightmost extension, and at least one character in the filename before
that extension, are now interpreted by PHP. For a full list of
handled extensions please see the Apache 2 configuration. At the time
of writing this paragraph, the list includes the following regular

1. .+\.ph(p[345]?|t|tml)$ for PHP files (application/x-httpd-php)
2. .+\.phps$ for PHP source files (application/x-httpd-php-source)

Previously, as a side effect of system MIME type definitions, the
default configuration would allow the interpreting of files with a
double extension, where the second extension was either unrecognised
or a language or content encoding to be interpreted; e.g. an uploaded
file named blackhat.php.foobar or index.php.cs would be interpreted by
PHP. These non-standard definitions have been removed from the
mime-support packages and all configuration of PHP handlers is now
defined in the Apache 2 configuration files.

The standard configuration now also denies access to files with names
which consist of an extension and nothing more; e.g. accessing ‘/.php’
will now return Access Denied instead of the output of the PHP script.

You can use the following command to find whether there are any files
on your system which would be affected by this change (change
to the directory name where you store PHP files on your system):

# find -name ‘*.ph[pt].*’ -o -name ‘*.php[345s].*’ -o \
-name ‘*.phtml.*’ -o -name ‘.ph[pt]’ -o \
-name ‘.php[345s]’ -o -name ‘.phtml’

— Ond?ej Surý Tue, 21 Aug 2012 09:14:47 +0200

@Mikl : quand est-ce que ce message apparait? C’est un extrait de README, qui n’influence en rien le lancement de Apache. Libre à toi d’adopter ou non la configuration recommandée.

@mikl : je n’utilise pas aptitude et ne connait pas ses subtilités (affiche-t-il le contenu du README là où d’autre frontons comme dselect passent leur chemin?). Bref, tente un “apt-get upgrade” à la place.

I see the same problem(s) with php5-xdebug –

etting up php5-xdebug (5.4.7-1~dotdeb.0) …
/var/lib/dpkg/info/php5-xdebug.postinst: line 22: local: can only be used in a function
dpkg: error processing php5-xdebug (–configure):
subprocess installed post-installation script returned error exit status 1

My fix was to edit /var/lib/dpkg/info/php5-xdebug.postinst and remove the ‘local’ keyword on lines 22 and 23; then it was happy.

I suspect this is due to me still using bash as my /bin/sh symlink, while perhaps the packager is using dash or something else?

So its on php 5.4.7 version suhosin is not available, i was wondering which is the substitute to encruise max_input_vars or how is the way to make it…. regards

I was trying to install php 5.4 on Debian Squeeze. But debian said to me that php5-cli depends on libonig2 and libgdbm14, but both of this packages are unavailable to install, im confused with it, and dont know how to fix this problem, can someone help me?

Okay, sorry.

Distro: Debian 6.0 Squeeze i386
PHP Version: none, yet
sources.list (sources.list.d have same content):
deb squeeze/updates main
deb-src squeeze/updates main

deb squeeze all
deb-src squeeze all

deb squeeze-php54 all
deb-src squeeze-php54 all

dpkg -l ‘php*’ | grep ‘^.i’: No packages found matching php*

Bug description: i was trying to ‘aptitude install php5-cli php5-common php5-fpm php5-cgi’:
The following NEW packages will be installed, 0 to remove and 1 not upgraded.
Need to get 11.0 MB of archives. After unpacking 33.2 MB will be used.
The following packages have unmet dependencies:
php5-cgi: Depends: libonig2 (>= 5.2.0) which is a virtual package.
Depends: libqdbm14 (>= 1.8.74) which is a virtual package.
php5-cli: Depends: libonig2 (>= 5.2.0) which is a virtual package.
Depends: libqdbm14 (>= 1.8.74) which is a virtual package.
php5-fpm: Depends: libonig2 (>= 5.2.0) which is a virtual package.
Depends: libqdbm14 (>= 1.8.74) which is a virtual package.
The following actions will resolve these dependencies:

Keep the following packages at their current version
1) php5-cgi [Not Installed]
2) php5-cli [Not Installed]
3) php5-fpm [Not Installed]

Accept this solution? [Y/n/q/?]

Obviuosly such a solution doesn’t suit me. Don’t know what to do.

Been setting up a new server that is going be exposed to heavy load, so I’ve been testing php5-fpm (debian squeeze).
I was having issues with system V start stop script hanging (stop would need a kill -9 on the main process, start would need a kill on the calling process).
Part from that the pools where working fine.
After testing different things I finely spotted that adding in the pool definition file the chdir definition seemed to have sorted the problem
chdir = /

If this can help someone else having a similar issue….

Thanks guys for all your work 🙂
Have a nice day!

sorry… but this didn’t stop the problem for more than 5 min…. problem is now back. Going to make a better description of my issue this afternoon…

Hi. I Installed your PHP on my server and now I need to install libssh2-php, but it requires the package ‘phpapi-20090626’, and when I try to install it, I got:
root@doug-pc:~# apt-get install phpapi-20090626
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package phpapi-20090626 is a virtual package provided by:
php5-fpm 5.3.17-1~dotdeb.0 [Not candidate version]
php5-cli 5.3.17-1~dotdeb.0 [Not candidate version]
php5-cgi 5.3.17-1~dotdeb.0 [Not candidate version]
libapache2-mod-php5filter 5.3.17-1~dotdeb.0 [Not candidate version]
libapache2-mod-php5 5.3.17-1~dotdeb.0 [Not candidate version]
php5-fpm 5.3.10-1ubuntu3.4 [Not candidate version]
libapache2-mod-php5filter 5.3.10-1ubuntu3.4 [Not candidate version]
php5-cli 5.3.10-1ubuntu3.4 [Not candidate version]
php5-cgi 5.3.10-1ubuntu3.4 [Not candidate version]
libapache2-mod-php5 5.3.10-1ubuntu3.4 [Not candidate version]
php5-fpm 5.3.10-1ubuntu3 [Not candidate version]
libapache2-mod-php5filter 5.3.10-1ubuntu3 [Not candidate version]
php5-cli 5.3.10-1ubuntu3 [Not candidate version]
php5-cgi 5.3.10-1ubuntu3 [Not candidate version]
libapache2-mod-php5 5.3.10-1ubuntu3 [Not candidate version]

E: Package ‘phpapi-20090626’ has no installation candidate
Can you help me?

Hi, The php5-ssh2 worked. Thank you.
I am using Dotdeb on my Ubuntu Server 12.04.1 and I didn’t got big problems by now except this one.
Thanks for the help.

So I should add the two lines from step one and two? Not only from step 2 if I want PHP 5.4?

When I want to install it can I just run apt-get install php-5 or do I have to run something else, like apt-get install php-54?

After upgrading to PHP5.4.7 from PHP5.3.17, the sqlite session.save_handler is no longer available or registered in PHP.
The changelog does not indicate anything changed here, so am I doing something wrong or is there something else going wrong?

@Erik :
cat > /etc/apt/sources.list.d/dotdeb.list >>EOD
deb squeeze all
deb squeeze-php54 all

apt-get update
apt-get install php5

Greetings, quick question with the 5.3.17 packages it appears that the php5-sybase/php5-mssql doesnt provide the PDO MSSQL extension, am I missing something on the install but doing and upgrade of php5 / php5-common which picks up all my deps but I lose PDO from the install.

Following your suggestion I installed php5-mssql (OK php5-sybase the php5-mssql is only a “mirror” – trying to install that gives “already installed” now ) – but I dont see dblib as usable PDO connection. My Server runs Ubuntu SMP 2013 x86_64, PHP Version 5.3.10-1ubuntu3.4 installed as FPM/FCGI.
Checking phpinfo() reveals that indeed dblib is not announced as available pdo driver.
Any hints on that matter ?

@Sven Leuschner : if your server runs “PHP 5.3.10-1ubuntu3.4”, what’s the deal with Dotdeb? php5-sybase from Dotdeb brings the dblib support for PDO :

$ php -i
PDO Driver for FreeTDS/Sybase DB-lib => enabled

Thanks Guillaume – solved.. its a pure PDO problem – reverted back to old mssql_-Extension and it works like a dream

As of now , I need only to call a single stored procedure – and that works well … Maybe I’ll fix it together with my adminitstrator in a future update

Could you load any other resources on the site directly? Might be a problem in .htaccess or a wrong Apache configuration after you’ve updated the PHP.

I use

AddHandler php-stable .php

Comments are closed.