PHP 5.2.9 is packaged (at last)

March 11th, 2009 | by Guillaume Plessis |

Sorry for the delay, but I had to come back from winter sports to have a decent Internet connection…

After being published by the PHP Group, PHP 5.2.9 anf its corresponding PECL extensions is now packaged for Lenny/Etch, amd64/i386. It fixes some annoying crashes and one security issue. The next release should be PHP 5.3.0 with some new interesting features (MySQL native driver, Phar, namespaces…).

Take a look at the official Changelog for more details before doing this recommanded upgrade.

Tags: , ,

  1. 52 Responses to “PHP 5.2.9 is packaged (at last)”

  2. By pmenier on Mar 11, 2009 | Reply

    Hello

    Do you think this future release of php will be compatible with common blog/cms (ie: dotclear, joomla).

    I tested it 4 months ago (php-5.3alpha2) and these cms didn’t work anymore. I understand it’s not the job of php team to debug these portals but the changes beetween 5.2.x and 5.3.x seem to be very important…
    Patrick
    (ps: sorry for my poor english :)

  3. By Guillaume Plessis on Mar 11, 2009 | Reply

    @pmenier: PHP 5.3 introduces some deep changes. Even if the PHP developpers try to maintain an ascendant compatibility (causing some troll about the namespaces’ syntax, for instance); I think PHP 5.3 will break some apps. You should be very careful when upgrading, ensure that dotclear, joomla… are certified for PHP 5.3 on their respective websites. (I didn’t have time to test 5.3 yet)

  4. By Sebastian Mauer on Mar 12, 2009 | Reply

    I can’t await 5.3 ;)
    It’s like Christmas in March/Mai

  5. By Tim on Mar 12, 2009 | Reply

    I have Etch and until 2 months ago I have always only used the official debian etch repos in my sources.list for upgrading. When 5.2.8 was still current I added the dotdeb repo (Thanks so much for providing this!) and happily and finally upgraded my PHP from Etch’s 5.2.0 to 5.2.8. Now I tried to do another dist-upgradeto make it to 5.2.9, but it is keeping all the packages back.

    libapache2-mod-php5 (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    libmysqlclient15-dev (5.0.32-7etch8 => 5.1.32-0.dotdeb.1)
    mysql-server (5.0.32-7etch8 => 5.1.32-0.dotdeb.1)
    php5 (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    php5-cli (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    php5-common (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    php5-gd (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    php5-imap (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)
    php5-mysql (5.2.8-0.dotdeb.1 => 5.2.9-0.dotdeb.1)

    apt-get check doesn’t show anythingbroken.
    Any advice on what I am missing?

  6. By Guillaume Plessis on Mar 13, 2009 | Reply

    @Tim : it’s not a bug, it’s a feature. Your sources.list still points to stable, as Etch is oldstable and Lenny is stable. Please fix it by using this line instead of the previous one :

    deb http://packages.dotdeb.org/ oldstable all

    (Change it to stable as soon as you want to upgrade to Lenny)

    Apt-get update then apt-get dist-upgrade and all shoud work fine.

  7. By Tim on Mar 13, 2009 | Reply

    Yay, that worked like a charm!
    Thanks so much!!!

  8. By Void on Mar 15, 2009 | Reply

    First of all, it’s a good news – I wait for 5.3 like hell. Will You package 5.3 stable version, or maybe we can count on some snapshots?

    Anyway, I was so impatient about 5.3 debs, I have started some work to create my own packages based on Yours 5.2.8 version. I’ve put my packed debian/ directory here: http://escsa.eu/~argasek/php53/debian.tar.gz, maybe it will help You. It’s my first attempt at creating Debian packages at all, so I’m sorry for the poor quality of this ;-) ). At the moment, dpkg-buildpackage -rfakeroot doesn’t build .deb files (I guess ‘rules’ and other files are messed up), but it seems to compile on my server (Lenny).

    I had to remove from series the fpm.patch, exif_nesting_level.patch (it’s already fixed in 5.3), and modify a lot of patches. Moreover, I would suggest getting rid of use_embedded_timezone.patch (please see: http://derickrethans.nl/distributions_please_dont_cripple_php_or_red_hat_stop_fucking_around.php).

    If I could be any of help, don’t hesitate to contact me.

  9. By Frank on Mar 15, 2009 | Reply

    I tried to update to php 5.2.9 on etch but there seem to be unresolved dependencies unavailable on etch. Libc6 is needed in Version 2.7 or greater. Are there known backports of libc6 for etch?

  10. By Guillaume Plessis on Mar 15, 2009 | Reply

    @Frank : as written in my post about Lenny, take care of the Dotdeb entries in your sources.list :

    It should refer to stable or lenny if you want to make the switch and take benefits from the brand new Debian distribution :
    deb http://your.mirror/ stable all
    deb-src http://your.mirror/ stable all
    It should refer to oldstable or etch if you want to stick to the good old Etch and to take your time to upgrade.
    deb http://your.mirror/ oldstable all
    deb-src http://your.mirror/ oldstable all

  11. By Frank on Mar 15, 2009 | Reply

    I forgot to mention that they are refering to oldstable – though i realised it later on. But cleaning apt/aptitude and refreshing didn’t make anything better regarding the libc6 stuff. :S

  12. By Guillaume Plessis on Mar 15, 2009 | Reply

    @Frank : I double-checked the php5 packages’ dependencies : they all depend on libc6 >= 2.3.6-6.

    Which mirror are you using? Which version of php5 is apt trying to install ? 5.2.9-0.dotdeb.0? 5.2.9-0.dotdeb.1?

  13. By Frank on Mar 15, 2009 | Reply

    tried different mirrors. currently the dotdeb.org ones.

    it looks like it’s trying to install dotdeb.0 version of 5.2.9-0 :-S

  14. By Frank on Mar 15, 2009 | Reply

    hmm seems to work now – why ever. thanks for your patience.

  15. By Arnaud Launay on Mar 17, 2009 | Reply

    Any way to stay on mysql 5.0 ? 5.1 for now is a little too much…

  16. By Guillaume Plessis on Mar 17, 2009 | Reply

    @Arnaud : no problem, install explicitely mysql-server-5.0 instead of mysql-server (that is a metapackage depending on mysql-server-5.1)

  17. By Arnaud Launay on Mar 17, 2009 | Reply

    Too easy. :) BTW, is there any gpg key signing for the packages, like they do for debian-multimedia for example ? I can’t find anything on the site (and I think I’m a bit out of context…)

  18. By Guillaume Plessis on Mar 17, 2009 | Reply

    @Arnaud : I’m working on it, please be patient.

  19. By Joost De Valk on Mar 18, 2009 | Reply

    I’m probably being very noobish now, but I can’t get my PHP to get any higher than 5.2.6 :) This is my sources.list:

    deb http://http.us.debian.org/debian stable all
    deb http://security.debian.org/ stable/updates main contrib
    deb http://packages.dotdeb.org/ stable all

    yet my PHP still outputs:

    PHP 5.2.6 (cli) (built: Oct 21 2008 14:00:29)

    Any idea what I’m doing wrong?

  20. By Guillaume Plessis on Mar 18, 2009 | Reply

    @Joost : Try to launch “apt-get update && apt-get install php5-cli” and all should work fine.

  21. By Joost De Valk on Mar 18, 2009 | Reply

    Hmm indeed, thx!!

  22. By Colin Lundy on Mar 19, 2009 | Reply

    apt-get install php5-cli
    Reading package lists… Done
    Building dependency tree… 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.

    Since you only requested a single operation it is extremely likely that
    the package is simply not installable and a bug report against
    that package should be filed.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php5-cli: Depends: libc6 (>= 2.3.6-6) but 2.3.6-0ubuntu20.5 is to be installed
    Depends: libdb4.4 but it is not installable
    Depends: libreadline5 (>= 5.2) but 5.1-7build1 is to be installed
    Depends: libssl0.9.8 (>= 0.9.8c-1) but 0.9.8a-7ubuntu0.6 is to be in stalled
    Depends: libxml2 (>= 2.6.27) but 2.6.24.dfsg-1ubuntu1.4 is to be ins talled
    Depends: php5-common (= 5.2.9-0.dotdeb.0) but 5.1.2-1ubuntu3.13 is t o be installed
    E: Broken packages

    Any help :S

  23. By Guillaume Plessis on Mar 19, 2009 | Reply

    @Colin : Ubuntu should be compatible but it is not supported by Dotdeb.

    Try to upgrade your machine to a recent Ubuntu release (your libc6 package seems pretty old) and try to reinstall php5-cli from Dotdeb to satisfy the dependencies, but once again, compatibility is not garanted.

  24. By Colin Lundy on Mar 19, 2009 | Reply

    @Gauillaume: thank you for your reply, I am very very new to Linux. Would you be able to email me with a walk-thru kinda thing??

  25. By Craig on Mar 19, 2009 | Reply

    Is there a special reason why this version of PHP was compiled with –enable-sigchild because this wreaks havok in many apps that use proc_close() because it now always returns -1? I’m now in the process of making working arounds for several scripts because of this.

    See: http://www.google.nl/search?q=php+sigchild

    –enable-sigchild is only relevent to users of Oracle who are having processes, and the standard Debian package doesn’t have it set.

  26. By Guillaume Plessis on Mar 19, 2009 | Reply

    @Craig : sigchild is an historic feature. I think I’ll remove it in my next upload, because it broke many scripts (pecl and pear, for example). Thanks for this feedback.

  27. By Craig on Mar 19, 2009 | Reply

    @Guillaume Plessis: Thanks, I can’t wait. B.t.w. your blog doesn’t seem to handle escaping of gt and lt html entities because in my last sentence was meant to be “having [defunct] processes” (with gt and lt instead of []).

  28. By Guillaume Plessis on Mar 19, 2009 | Reply

    @Craig : you can build your own packages by adding Dotdeb’s deb-src entriy in your sources.list and launch :

    apt-get update
    apt-get build-dep php5
    apt-get source -b php5

  29. By Robert Rauchstaedt on Mar 19, 2009 | Reply

    Hi Guillaume Plessis,

    I’ve got a problem with compiling 5.2.9 on a Debian Lenny running on PowerPC.
    While trying to build the packages it stops while applying the suhosin patch:

    Applying patch 011-suhosin.patch
    patching file TSRM/TSRM.h

    patching file Zend/zend_llist.c
    can’t find file to patch at input line 1413
    Perhaps you used the wrong -p or –strip option?
    The text leading up to this was:
    ————————–
    |diff -Nura php-5.2.9/configure suhosin-patch-5.2.9-0.9.7/configure
    |— php-5.2.9/configure 2009-02-25 16:39:40.000000000 +0100
    |+++ suhosin-patch-5.2.9-0.9.7/configure 2009-03-05 21:11:35.000000000 +0100
    ————————–
    No file to patch. Skipping patch.
    3 out of 3 hunks ignored
    patching file configure.in

    patching file main/main.c
    Hunk #2 succeeded at 1378 (offset 1 line).
    Hunk #3 succeeded at 1419 (offset 1 line).
    Hunk #4 succeeded at 1516 (offset 1 line).
    Hunk #5 succeeded at 1678 (offset 1 line).
    Hunk #6 succeeded at 1822 (offset 1 line).
    Hunk #7 succeeded at 1875 (offset 1 line).
    Hunk #8 succeeded at 1936 (offset 1 line).
    patching file main/php.h
    can’t find file to patch at input line 1780
    Perhaps you used the wrong -p or –strip option?
    The text leading up to this was:
    ————————–
    |diff -Nura php-5.2.9/main/php_config.h.in suhosin-patch-5.2.9-0.9.7/main/php_config.h.in
    |— php-5.2.9/main/php_config.h.in 2009-02-25 16:39:45.000000000 +0100
    |+++ suhosin-patch-5.2.9-0.9.7/main/php_config.h.in 2009-03-05 21:11:35.000000000 +0100
    ————————–
    No file to patch. Skipping patch.
    1 out of 1 hunk ignored
    patching file main/php_logos.c

    patching file win32/build/config.w32
    Patch 011-suhosin.patch does not apply (enforce with -f)
    make: *** [debian/stamp-patched] Error 1
    dpkg-buildpackage: failure: debian/rules build gave error exit status 2
    Build command ‘cd php5-5.2.9 && dpkg-buildpackage -b -uc’ failed.
    E: Child process failed

    If I remove the the suhosin patch from the “series” and removing the –with-suhosin the rules everything works.

    Do you have an idea what the cause of the problem could be?

    Thanks,

    Robert

  30. By Guillaume Plessis on Mar 19, 2009 | Reply

    @Robert : Try to do this…

    apt-get source php5
    cd php5-5.2.9
    ./debian/rules binary

    If it does not work, retry, but edit debian/rules before launching it, and replace this line

    rm -f configure aclocal.m4 config.sub config.guess ltmain.sh

    by

    rm -f aclocal.m4 config.sub config.guess ltmain.sh

  31. By OverlordQ on Mar 22, 2009 | Reply

    I got the same error, tried what you said and I noticed:

    ===
    configure: WARNING: unrecognized options: –enable-memory-limit, –enable-suhosin, –enable-track-vars, –enable-trans-sid, –enable-filepro, –with-dom, –enable-yp, –enable-dbx
    ==

  32. By Robert Rauchstaedt on Mar 22, 2009 | Reply

    @Guillaume Plessis: This works (./debian/rules binary). Thanks.

  33. By Polk on Mar 24, 2009 | Reply

    on Debian Lenny I had PHP 5.2.6 with CGI and FastCGI.
    After upgrading to PHP 5.2.9-0.dotdeb.1 CGI works, but FastCGI stopped working. I’m a newb. Any ideas what could I miss?

  34. By Guillaume Plessis on Mar 24, 2009 | Reply

    @Polk : Nop, no idea. Take a look at your logfiles.

  35. By Vide on Apr 6, 2009 | Reply

    Hi Guillaume,

    can you tell if you are planning to release a 5.2.9-1 when this bug is officially fixed upstream?

    http://bugs.php.net/bug.php?id=47285

    (yeah, I’m affected by this memleak :(
    I’m asking cause I don’t know your policies for minor releases

  36. By Guillaume Plessis on Apr 6, 2009 | Reply

    @Vide: I’m planning this for this week.

  37. By OverlordQ on Apr 8, 2009 | Reply

    One last question, any chance of compiling against a current version of libxml2?

  38. By Guillaume Plessis on Apr 8, 2009 | Reply

    @OverlordQ : No, libxml2 is a core library for many and many programs. Backporting it would force me to fix too much potential issues with Lenny binaries, that’s too much work for me. Sorry.

  39. By Joel on Apr 8, 2009 | Reply

    Hi,

    when i try to install php5-imagick in jaunty i get
    php5-imagick: Depends: libmagick10 but it is not installable

    looking at the official php5-imagick (http://packages.ubuntu.com/jaunty/php5-imagick) seems it doesn’t depend on libmagick10.

    Any idea on how to overcome this?

    thanks.

  40. By Guillaume Plessis on Apr 8, 2009 | Reply

    @Joel : Dotdeb is not made for Ubuntu. Two solutions :
    - Rebuild the packages using apt-get source -b php5
    - Add the Debian Lenny related line in your sources.list to provide libmagick10 :
    deb http://debian.nexen.net/debian stable main contrib non-free

    No more support can be provided for Dotdeb Ubuntu, you have to be tricky :)

  41. By Joel on Apr 9, 2009 | Reply

    Thanks. Who would of guess that Dotdeb is not made for ubuntu? :)

    No need to rebuild the packages. That repository did it.

  42. By Guillaume Plessis on Apr 9, 2009 | Reply

    @OverlordQ : these obsolete options has been removed. Thanks for this feedback.

    @Craig : the sigchild support has been dropped

    @Vide : the memory leak has been fixed.

    More info : http://www.dotdeb.org/2009/04/09/minor-update-of-the-php-529-packages/

  43. By Jean-Michel on Apr 10, 2009 | Reply

    I don’t know if it is related to this version of PHP. I have installed PHP 5.2.9 and when I launch Apache I have this warning in the PHP error log :
    PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613/’ – /usr/lib/php5/20060613/: cannot read file data: Is a directory in Unknown on line 0

    Since I have a strange error with the library Zend_DB (from Zend Framework) I wonder if this could be the cause.

    Do you know how I can fix this path issue ? I have not found the ‘/usr/lib/php5/20060613/’ in the config files.

  44. By Sébastien on Apr 10, 2009 | Reply

    I need some advise with this package, I’m using ubuntu 8.10 which does not have /usr/lib/php5/build/libtool.m4 and /usr/lib/php5/build/ltmain.sh that are pointing to a non existing symlink in ../../../share/libtool/
    Replacing the symlink
    with sudo ln -s ../../../share/libtool/config/ltmain.sh ltmain.sh and sudo ln -s ../../../share/aclocal/libtool.m4 libtool.m4
    But this lead to issue with phpize:
    error: possibly undefined macro: m4_ifval
    and the impossibility to build pecl package.

    Any idea?

  45. By Guillaume Plessis on Apr 10, 2009 | Reply

    @Jean-Michel : This is caused by a wrong call to the dynamic extension loader dl(). An extension name should be provided as argument.The available extensions are listed in /usr/lib/php5/20060613/

    @Sébastien : This is a compatibility problem of Ubuntu against Dotdeb. I advise you to rebuild the whole dotdeb packages against your distribution and especially your development tools : m4, libc6-dev…

    Tip : apt-get source -b php5

  46. By Jean-Michel on Apr 10, 2009 | Reply

    Thanks Guillaunme. I don’t know where this wrong call is issued but it doesn’t seem a real issue anyway.

  47. By aseire on Sep 20, 2009 | Reply

    I am “just” trying to upgrade from PHP Version 5.2.6-1+lenny3 to PHP Version 5.2.9+lenny3

    I have updated the sources list to add my local (US) mirrors. However, when I do an “apt-get update” I get this scary “packages cannot be authenticated” warning:

    WARNING: The following packages cannot be authenticated!
    php5-mysql libapache2-mod-php5 php5-common mysql-common php5
    Install these packages without verification [y/N]? N

    I see people doing an “apt-get install debian-archive-keyring” before a “apt-get update” but that seems weird to me.

    I did an “apt-key update” and got no changes so, I have the latest keys.

    What am I doing wrong here please?

  48. By aseire on Sep 21, 2009 | Reply

    Synaptic gives an installed PHP Version 5.2.6-1+lenny3 (upgradable) to 5.2.11 which I would be happy with. However, if I do try and upgrade, this time using Synaptic instead of apt-get, I still get the scary “WARNING: The following packages cannot be authenticated!”

    What am I doing wrong here please?

    El Thicko……..

  49. By Guillaume Plessis on Sep 21, 2009 | Reply

    @aseire : You’re not doing anything wrong. The cause of this warning is that Dotdeb packages are not GPG-signed. I’ll work on this, but you have to answer “yes” to this warning.

  50. By aseire on Sep 21, 2009 | Reply

    Understood and thank you Guillaume,

    Aseire

  51. By nikmah on Dec 13, 2009 | Reply

    what shold i d o?help me please…….

    apt-get install mysql-server
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    The following extra packages will be installed:
    libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl
    mysql-client-5.0 mysql-server-5.0
    Suggested packages:
    dbishell libcompress-zlib-perl mysql-doc-5.0 tinyca
    Recommended packages:
    libhtml-template-perl mailx
    The following NEW packages will be installed:
    libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl
    mysql-client-5.0 mysql-server mysql-server-5.0
    0 upgraded, 7 newly installed, 0 to remove and 409 not upgraded.
    Need to get 27.5MB/36.3MB of archives.
    After this operation, 107MB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    WARNING: The following packages cannot be authenticated!
    libnet-daemon-perl libplrpc-perl libdbi-perl libdbd-mysql-perl
    mysql-client-5.0 mysql-server-5.0 mysql-server
    Install these packages without verification [y/N]?

  52. By Guillaume Plessis on Dec 13, 2009 | Reply

    @nikmah : you should accept. That’s just a warning about the not-signed(-yet) dotdeb repository.

  1. 1 Trackback(s)

  2. Mar 28, 2009: Void.

Post a Comment