我在一个流浪汉机器上运行Ubuntu 14.x。
我有一个包含7.0和7.1子文件夹的/etc/php文件夹,以及一个/etc/php5文件夹。
当我在一个工作的网页上添加<?php phpinfo(); ?>时,它告诉我我正在运行5.5.9版本。
当我从命令行运行php -v时,它告诉我正在运行版本7.0.14
我希望我的网页(由Apache2运行)也使用7.0版。简而言之,我希望完全删除目录/etc/php5和对它的任何引用。我该怎么做呢?
发布于 2017-01-30 17:40:35
一台机器上可以同时存在多个版本的PHP。这个并不意味着 box服务器,在您的例子中是Apache2,将知道运行哪个版本。你不需要解释这些版本是如何安装的。我只能猜测,但我会在这里解释基本知识。
PHP可以通过几种方式与web服务器一起运行,但主要有两种方式(对于Apache2):
)下运行
您可以通过以下方式考虑这两个选项:
PHP mod- PHP使在Apache内部运行,并与
根据运行方式的不同,在脚本执行和生命周期中还有其他主要区别。通常,开箱即用的安装附带mod-php,它是两种设置中速度较慢的一种。
我猜这就是你的例子:PHP5.5.9作为一个包安装在你的系统上,Apache2被配置为mod-php。PHP7和PHP7.1是使用另一种方法(软件包存储库或已编译)安装的。
快速回答您的问题:
不能,您不能只删除/etc/php5和删除php5。你可以尝试用apt-get remove php5删除它,但是这可能需要删除你需要的其他数据包,例如apache。这种反向依赖之所以存在,是因为Apache2需要PHP作为安装依赖。(在Ubuntu上可能不是这样,但我提到这是为了预防)
你基本上必须做的事情:
您必须配置Apache2以了解其他PHP版本,并为您的站点运行其中一个版本。通常,per服务器只能在每个网站/虚拟主机上执行一个PHP版本。确实存在更奇特的设置选项,但我不鼓励使用一个PHP版本运行站点的一部分,而使用另一个版本运行站点的第二部分。
你实际要做的事情:
您需要使用PHP-FPM配置PHP7以在Apache2中运行。网上有很多指南,这个问题在这里已经回答了很多次了。
Here is a link I found for your Ubuntu version。给出的描述对我来说很好。
希望我能帮上忙,干杯!
https://stackoverflow.com/questions/41787636
复制相似问题