How can I upgrade PHP to a higher version for Debian Squeeze?

124

Solution 1

Upgrade all packages:

apt-get update; apt-get upgrade;

If you want to upgrade just one package (e.g. php5):

apt-get update; apt-get install php5;

For the package versions available on Debian take a look at:

http://www.debian.org/distrib/packages

If you want to install php5 5.4.4-2, that is only available on wheezy, you should add wheezy to your /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian/ wheezy main non-free contrib

and then:

apt-get update
apt-get install -t wheezy php5

To don't get any surprises, you should use apt pinning in order to prevent that your system from installing packages from wheezy, just create the file /etc/apt/preferences

Package: *
Pin: release n=squeeze
Pin-Priority: 650

Package: *
Pin: release n=wheezy
Pin-Priority: -10

So when that when you do apt-get install, if you don't specify -t wheezy it will by default install the package from squeeze.

Solution 2

Pinning is going to put you in dependency hell, as @Juan noticed. When I want the bleeding edge on my Debian systems I usually turn to http://www.dotdeb.org/

For proper instructions -> http://www.dotdeb.org/instructions/

Solution 3

Debian stable is designed to be really, really stable; thus using newer versions of packages is usually not supported, often tricky and/or a bad idea, and sometimes impossible. That said, there are ways to do it:

  • Check out backports.debian.org, see if the package you want is there - this is the "supported" way.
  • If not available, do a simple sid backport: http://wiki.debian.org/SimpleBackportCreation (use the dev libraries installed on your system to compile the package sources from debian testing or unstable)
  • Installing .debs from a different repository (e.g. wheezy or ubuntu) is a very bad idea.

If no backport is available, and a simple sid backport is not possible, then you probably will not be able to get the package working on your system. You can consider upgrading to debian testing (which is not so bad when testing is under freeze, as Debian Wheezy is as of this writing).

This answer would not be complete without repeating the "simple sid backport" instructions given by the dpkg bot on irc.debian.org:

  1. Open sources.list and add a deb-src line for sid (not a deb line!)
  2. enable debian-backports (
  3. execute the following in your terminal of choice:
    • aptitude update;
    • aptitude install build-essential;
    • aptitude build-dep packagename;
    • apt-get -us -uc -b source packagename
  4. install the resultant debs.

See also: http://wiki.debian.org/Backports

Share:
124

Related videos on Youtube

Raidon
Author by

Raidon

Updated on September 18, 2022

Comments

  • Raidon
    Raidon over 1 year

    I used http://www.epochconverter.com/date-difference

    From 1/1/2000, 12:00:00 AM (epoch: 946665000)
    To(current time) 8/11/2016, 12:00:00 PM (epoch: 1478586600)
    
    Difference in seconds:      531921600
    

    used this seconds: 531921600 difference as order id so based on order id i can get what time it will created an order but i need more accurate order id with micro-time in 9 digit only. Kindly give me any suggestion or formula to get micro-time in 9 digit only and unique every time

  • Strawberry
    Strawberry almost 12 years
    The only php5 available on is 5.3.3: packages.debian.org/squeeze/php5 How can I upgrade it to higher version? Or am I missing something?
  • Daniel Prata Almeida
    Daniel Prata Almeida almost 12 years
    No, wheezy is quite stable it has been frozen the 30th of June and is going to be released as the next Debian 7.
  • Scott Pack
    Scott Pack over 11 years
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
  • foocorpluser
    foocorpluser over 11 years
    I'm going to disagree, the canonical source for how to install dot deb will forever be their site, paraphrasing it here wont provide a reliable service. (assuming the document changes some day) Of course If someone has a question about the installation document, serverfault would be a good place to flush that out.
  • Scott Pack
    Scott Pack over 11 years
    One of the purposes of StackOverflow, and by extension the rest of the sites, was to eliminate the spaghetti mess of links for this type of information. Whether we disagree or not making these sites the information storage mechanism is a major purpose of the system.
  • dawud
    dawud about 11 years
    A mention to backports would be fine here, as well as explaining briefly how to use apt-get source apt-get build-dependencies debuild
  • muz the axe
    muz the axe over 9 years
    I would like to point people away from DotDeb (response from above) - it did not work as they said it would, and when I hunted all over their website there is no where to ask questions, no email, no forum, no contact and no help at all. Some will suggest that this could be a level of knowledge I am lacking. However in my defence there are simply dependencies missing from their solution as I tried to install php56 on my Debian 7 system. The message direct from aptitude: --- libapache2-mod-php5 (>= 5.6.0-1~dotdeb.1~) | libapache2-mod-php5filter (>= 5.6.0-1~dotdeb.1~) | php5-cgi (>= 5.6.0-1~dotde