在Ubuntu Server上安装PHP 7(不需要Apache)

58

我正在尝试重新设置我的服务器作为 Lemp 堆栈。

我现在遇到的问题是在没有 Apache 的情况下安装 PHP 7,因为 nGinx 将是我的 Web 服务器。

所以,我添加了 ppa:ondrej/php。运行了 apt-get update,然后尝试通过 apt-get install php7.0 安装只有 php7.0。

--nodeps 标志不起作用,因为我正在使用 Ubuntu 15.10。

然后我看到了:

The following extra packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libqdbm14
  php-common php-readline php7.0 php7.0-cli php7.0-common php7.0-json
  php7.0-opcache php7.0-readline
Suggested packages:
  apache2-doc apache2-suexec-pristine apache2-suexec-custom php-pear
  php-user-cache
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libqdbm14
  php php-common php-readline php7.0 php7.0-cli php7.0-common php7.0-json
  php7.0-opcache php7.0-readline

不想要Apache靠近我的服务器,那么我如何在没有它的情况下安装php7? 除了从源代码编译(因为这使得保持最新更新变得非常困难),还有什么其他方法吗?


2
编译是一个选项吗?例如:https://gist.github.com/tronsha/b471dd6d73dc8ebae242 - Alex Blex
5个回答

82
如果你只请求 php7.0,它将默认安装 Apache。执行 apt-get install php7.0-fpm 将安装为 FPM,留下像 nginx 这样的选择权给你。

1
当然,我最终所做的事情是用更多的模块来实现相同的功能 :) - Kevin
1
这对我来说一直完美运作直到几周前我重建我的服务器,现在通过ppa:ondrej / php存储库无法安装php7.0-fpm,并显示错误 -“Couldn't find any package by regex 'php7.0-fpm'”! :( - Dave Rix
1
@DaveRix 试试 apt-cache search php 看看有哪些软件包。如果我没记错的话,PPA 维护者移动了一些东西。 - ceejayoz
@ceejayoz - 我已经尝试过了,只有列出了php5-fpm,没有php7版本。我需要尝试联系维护者,因为我能找到的所有信息都指向同一组说明,但目前并不起作用。 - Dave Rix
现在在Linux上安装PHP 8,您应该使用sudo apt install php8.0-fpm命令。 - Грузчик
如果您想保留meta,可以使用sudo apt install php-fpm与meta包。;-) - dtrunk

29

使用以下命令:

sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm

在严格模式下,它将需要php7.2依赖项 (WITHOUT apache2)。


它能安装nginx吗? - Lucas Bustamante
@LucasBustamante 不,您必须单独安装并配置 PHP。 - mur
这个答案比被采纳的答案好多了,因为它可以在不安装Apache的情况下安装PHP! - supersan

20

在Ubuntu 18.04上,我成功地完成了以下操作:

sudo apt-get install php7.2-cli

1
答案令人困惑,正常的PHP使用是在网站上而不是在CMDL上。如果您是PHP新手并且对答案感到困惑,则可以将其评为-1。 - Timo
9
问题是不使用Apache。请阅读原始问题。有许多情况下开发人员只需要PHP而不需要其他的。当我写这个问题时,是为了一个CI/CD服务器。 - mur
6
最好的方法是:sudo apt install php-cli - pmiguelpinto

3
在Ubuntu 20.04中,默认情况下使用php 7.4。 因此,无需添加任何PPA,您只需要
apt install php-fpm

这将引入一些库,包括php-cli,但不包括任何与Apache相关的内容。


1

使用以下步骤,您可以安装任何您想要的 PHP 版本,只需将 7.4 替换为您所需的版本。

另外,我建议安装 cli 包,因为我假设您不想安装 fpm。否则,您可以安装 php7.4-fpm。

安装 ppa:ondrej/php 存储库

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

安装PHP

sudo apt install php7.4-cli

你将会得到以下内容:
The following additional packages will be installed:
  php-common php7.4-common php7.4-json php7.4-opcache php7.4-readline


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接