Nginx

在 debian 上使用 nginx、php-fpm 執行特定(舊)php 版本

  • February 3, 2016

為了遷移舊的 php 軟體,我想執行 php 5.3.* 所以我:

  1. 通過刪除 phpapt-get purge php*
  2. 在原始碼中添加了相應的http://snapshot.debian.org/archive/debian/
  3. 已安裝apt-get install php5=5.3.10-2

現在,如果我這樣做,apt-cache policy php5我會得到:

php5:
 Installed: 5.3.10-2
 Candidate: 5.6.17+dfsg-0+deb8u1
 Version table:
    5.6.17+dfsg-0+deb8u1 0
       500 http://ftp.debian.org/debian/ jessie/main amd64 Packages
    5.6.14+dfsg-0+deb8u1 0
       500 http://security.debian.org/ jessie/updates/main amd64 Packages
*** 5.3.10-2 0
       500 http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable/main amd64 Packages
       100 /var/lib/dpkg/status

到目前為止一切順利,我的 nginx 設置如下:

location ~ \.php$ {
   try_files $uri =404;
   fastcgi_pass unix:/var/run/php5-fpm.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
}

但現在如果我這樣做,php -v我會得到:

PHP 5.6.17-0+deb8u1 (cli) (built: Jan 13 2016 09:10:12)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
   with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

而且,如果我發球<?php phpinfo(); ?>,我會得到:

PHP Version     5.6.17-0+deb8u1

dpkg -l php5* | egrep ^ii輸出:

ii  php5            5.3.10-2             all          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cli        5.6.17+dfsg-0+deb8u1 amd64        command-line interpreter for the php5 scripting language
ii  php5-common     5.6.17+dfsg-0+deb8u1 amd64        Common files for packages built from the php5 source
ii  php5-fpm        5.6.17+dfsg-0+deb8u1 amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)
ii  php5-json       1.3.6-1              amd64        JSON module for php5
ii  php5-readline   5.6.17+dfsg-0+deb8u1 amd64        Readline module for php5

那麼實際執行舊版本 php 的必要步驟是什麼?

編輯:我發現這個https://github.com/phpbrew/phpbrew非常有用的工具。因此,如果有人面臨同樣的問題,這可能是一個很好的解決方案。

您還需要執行:

apt-get install php5-cli=5.3.10-2 php5-fpm=5.3.10-2 php5-common=5.3.10-2 php5-readline=5.3.10-2

這些仍然在 5.6 版本上,這就是為什麼您仍然看到 5.6。

引用自:https://serverfault.com/questions/753723