Назад | Перейти на главную страницу

Запустите определенную (папку) версию php с помощью nginx, php-fpm на debian

Чтобы перенести старое программное обеспечение php, я хочу запустить php 5.3. *, Поэтому я:

  1. Удален php через apt-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.