Как запустить несколько версий php на сервере lighttd одновременно?

У меня есть несколько проектов PHP, который содержит несколько версий PHP, таких как PHP 5,6, PHP 7,0 и т. Д.

Недавно я установил сервер lighttpd в качестве локального сервера. Вот мой lighttpd.conf

server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_fastcgi",
"mod_redirect",
#       "mod_rewrite",
)

server.document-root        = "/home/andrew/www/"server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"server.pid-file             = "/var/run/lighttpd.pid"server.username             = "www-data"server.groupname            = "www-data"server.port                 = 80index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
dir-listing.activate = "enable"
include "localhost.81.conf"

А также localhost.81.conf является :

$SERVER["socket"] == ":81" {
server.document-root       = "/home/andrew/www7"
}

Я установил php5.6-cgi и php7.0-cgi, и когда fastcgi-php5.6 включен, то php 5.6 работает, а когда fastcgi-php7.0 включен, то php 7.0 работает.

моды fastcgi-php5.6:

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi5.6",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"),
"broken-scriptfilename" => "enable"))

и мод fastcgi-php7.0:

## Start an FastCGI server for php (needs the php7-cgi package)
fastcgi.server += ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi7.0",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"),
"broken-scriptfilename" => "enable"))

Я не могу включить два fastcgi-php одновременно.
Но я хочу, чтобы порт 80 работал с php 5.6, а порт 81 — с php7.0.

Возможно ли это на сервере lighttpd?
Какова конфигурация запуска нескольких версий php на lighttpd?

2

Решение

Вы можете обновить на своем fastcgi-php из папки conf-available.

$ cd /etc/lighttpd/conf-available/

Сделайте резервную копию файла:

$ sudo cp 15-fastcgi-php.conf 15-fastcgi-php.conf.save

Теперь откройте 15-fastcgi-php.conf и обновите как:

$ sudo vi 15-fastcgi-php.conf и вставьте приведенный ниже фрагмент кода:

    fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi5.6",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"),
"broken-scriptfilename" => "enable"))
)

$SERVER["socket"] == ":81" {

fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi7.0",
"socket" => "/var/run/lighttpd/php81.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"),
"broken-scriptfilename" => "enable"))
)

}

Теперь сохраните и закройте и включите мод.

$ sudo lighty-enable-mod fastcgi-php

Перезагрузите и перезапустите сервер:

$ sudo systemctl force-reload lighttpd

$ sudo systemctl restart lighttpd

Я надеюсь, что это сработает.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]