如何在Debian上的Apache 2.4中selectPHP版本5和7?

如何在Debian上的Apache 2.4中selectPHP版本5和7?,第1张

概述如何在Debian上的Apache 2.4中selectPHP版本5和7?

在Debian 9的Apache 2.4上同时运行PHP 7和PHP 5是否可能? 我希望能够select我希望使用每个虚拟主机的PHP版本。 我相信这将是有用的考虑到我的一些网站仍然使用不推荐的PHPfunction。 这使我可以执行每个站点的升级。 我如何实现这样的事情?

例如

<VirtualHost *:80> Serveradmin webmaster@localhost Servername mywebsite.com documentRoot /var/www/mywebsite.com # UsePHP 7 </virtualHost>

<VirtualHost *:80> Serveradmin webmaster@localhost Servername mywebsite2.com documentRoot /var/www/mywebsite2.com # UsePHP 5 </virtualHost>

将Google云端硬盘目录用作Apache虚拟主机

为什么所有虚拟主机指向第一个虚拟主机?

如何防止不同的Apache虚拟主机之间共享PHP会话?

AWS-EC2,如何设置多个公共站点只有一个实例?

在另一台设备上打印服务器3.0虚拟主机

Apache的多个虚拟主机在相同的IP(不同的url)

Apache – 如何将前缀映射到不同的目录

带有SNI的Apache httpS反向代理无代理上的密钥

Apache documentRoot到虚拟主机的networking目录

在启动基于定制的Amazon linux AMI的ec2后,第二个虚拟主机的documentRoot被更改

我们从头开始。 我假设你更喜欢使用PHP-fpm而不是Apache模块。

首先安装apache:

sudo apt-get update sudo apt-get install apache2

接下来安装多个PHP:

Debian 9:


安装PHP 7:

sudo apt-get install PHP7.0-cli PHP7.0-fpm PHP-pear libapache2-mod-fastcgi

配置存储库:

sudo apt-get install apt-transport-https sudo curl https://packages.sury.org/PHP/apt.gpg | apt-key add - sudo echo 'deb https://packages.sury.org/PHP/ stretch main' > /etc/apt/sources.List.d/deb.sury.org.List sudo apt-get update

安装PHP 5:

sudo apt-get install PHP5.6-cli PHP5.6-fpm

Debian 8:


安装PHP 5:

sudo apt-get install PHP5 PHP5-fpm PHP-pear libapache2-mod-fastcgi

配置存储库:


编辑/etc/apt/sources.List并将以下行添加到文件末尾:

deb http://packages.dotdeb.org jessIE all deb-src http://packages.dotdeb.org jessIE all

安装GPG密钥:

wget https://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg sudo apt-get update

安装PHP 7:

sudo apt-get install PHP7.0 PHP7.0-fpm

接下来从prefork切换并启用必要的模块:


对于Debian 8:

a2dismod PHP5 mpm_prefork

对于Debian 9:

a2dismod PHP7 mpm_prefork

接下来的两个:

a2enmod actions fastcgi alias proxy_fcgi mpm_worker systemctl restart apache2

将/etc/apache2/mods-enabled/fastcgi.conf内容更改为以下内容:

<Ifmodulee !mod_fastcgi.c> AddHandler fcgID-script fcg fcgi fpl </Ifmodulee> <Ifmodulee mod_fastcgi.c> <Directory /usr/lib/cgi-bin> Require all granted </Directory> </Ifmodulee>

现在为网站创建文档根文件夹:

mkdir -p /var/www/example.com/public_HTML mkdir -p /var/www/test.com/public_HTML

为这些网站添加sys用户:

sudo useradd example --home-dir /var/www/example.com sudo useradd test --home-dir /var/www/test.com

配置所有权:

sudo chown -R example.example /var/www/example.com sudo chown -R test.test /var/www/test.com

例如,网站example.com将使用PHP 5,网站test.com将使用PHP 7。

为网站创建配置文件:


PHP 5上的网站:

touch /etc/apache2/sites-available/example.com.conf ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/example.com.conf cat /etc/apache2/sites-available/example.com.conf <VirtualHost *:80> serveradmin webmaster@localhost servername example.com serverAlias www.example.com documentRoot /var/www/example.com/public_HTML ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Ifmodulee mod_fastcgi.c> AddType application/x-httpd-fastPHP5 .PHP Action application/x-httpd-fastPHP5 /PHP5-fcgi Alias /PHP5-fcgi /usr/lib/cgi-bin/PHP5-fcgi-example.com FastCgIExternalserver /usr/lib/cgi-bin/PHP5-fcgi-example.com -socket /var/run/PHP5-fpm-example.com.sock -pass-header Authorization </Ifmodulee> </VirtualHost>

PHP 7上的网站:

touch /etc/apache2/sites-available/test.com.conf ln -s /etc/apache2/sites-available/test.com.conf /etc/apache2/sites-enabled/test.com.conf cat /etc/apache2/sites-available/test.com.conf <VirtualHost *:80> serveradmin webmaster@localhost servername test.com serverAlias www.test.com documentRoot /var/www/test.com/public_HTML ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Ifmodulee mod_fastcgi.c> AddHandler PHP7-fcgi .PHP Action PHP7-fcgi /PHP7-fcgi virtual Alias /PHP7-fcgi /usr/lib/cgi-bin/PHP7-fcgi-test.com FastCgIExternalserver /usr/lib/cgi-bin/PHP7-fcgi-test.com -socket /var/run/PHP/PHP7.0-fpm-test.com.sock -pass-header Authorization </Ifmodulee> </VirtualHost>

创建池配置(我使用以下):


PHP 5上的网站:

cat /etc/PHP5/fpm/pool.d/example.com.conf [example.com] user = example group = example Listen = /var/run/PHP5-fpm-example.com.sock Listen.owner = www-data Listen.group = www-data PHP_admin_value[disable_functions] = exec,passthru,shell_exec,system PHP_admin_flag[allow_url_fopen] = off pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = /

PHP 7上的网站:

cat /etc/PHP/7.0/fpm/pool.d/test.com.conf [test.com] user = test group = test Listen = /var/run/PHP/PHP7.0-fpm-test.com.sock Listen.owner = www-data Listen.group = www-data PHP_admin_value[disable_functions] = exec,system PHP_admin_flag[allow_url_fopen] = off pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = /

重新启动apache和PHP-fpm服务:

sudo systemctl restart apache2 PHP5-fpm PHP7.0-fpm

请享用!

看来这是可能的,下面elvis的惊人的答案。

但是我宁愿使用两台虚拟服务器和一台虚拟主机,而不是一台服务器上的两台虚拟主机。 这将更容易配置。

总结

以上是内存溢出为你收集整理的如何在Debian上的Apache 2.4中selectPHP版本5和7?全部内容,希望文章能够帮你解决如何在Debian上的Apache 2.4中selectPHP版本5和7?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1282841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存