我下载了php-7.4.11.tar.gz对于安装手册,但在解压并输入后make
,终端中显示以下消息:
make:*** 未指定目标且未找到 makefile。停止。
~/php-7.4.11$ ls
appveyor buildconf config.nice docs libs Makefile.objects php.ini-production sapi TSRM Zend
azure buildconf.bat configure ext LICENSE NEWS README.md scripts UPGRADING
azure-pipelines.yml CODING_STANDARDS.md configure.ac EXTENSIONS main pear README.REDIST.BINS tests UPGRADING.INTERNALS
build config.log CONTRIBUTING.md include Makefile.fragments php.ini-development run-tests.php travis win32
答案1
为了获得高于 7.4.3 的 PHP 7.4 版本,你需要使用Ondřej Surý 的 PPA。如果您运行的是 Ubuntu 18.04、20.04、21.04 或 21.10,这将为您提供 7.4.27。幸运的是,这并不太难。
警告:您需要了解,通过执行以下步骤,Web 服务器将离线在 PHP 版本更改期间。您将卸载 7.4.3 并安装 7.4.27,这确实需要几分钟时间。如果您在没有任何备用维护的生产机器上执行此操作,您的访问者将需要了解他们看到的错误是暂时的。
解决了这个问题之后,我们开始吧。
如果您要更新现有的工作站/服务器:
打开终端或连接到您需要 7.4.27 的服务器
停止 Apache:
sudo service apache2 stop
笔记:这技术上不是必需的,但它只是“更清洁”。
卸载计算机上的所有 PHP 包:
sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
笔记:阅读要卸载的软件包,并确保列表正确,然后再继续。如果您不同意列表,请停止。
一旦删除了包裹,请清理
apt
:sudo apt clean
既然 PHP 已经从系统中删除,让我们继续吧。
安装 Ondřej Surý 的 PHP 版本:
打开终端或连接到您需要 7.4.27 的服务器
确保 Apache 没有运行:
sudo service apache2 stop
笔记:这技术上不是必需的,但它只是“更干净”。当然,如果没有安装 Apache,则不需要这样做。
添加适当的 PPA:
sudo add-apt-repository ppa:ondrej/php
更新
apt
:sudo apt update
安装 PHP 7.4.27:
sudo apt install php7.4
笔记:虽然软件包上有说明
7.4
,但这会给你7.4.27-1+ubuntu20.04.1+deb.sury.org+1
20.04(截至撰写本文时)。当然,您可以随意添加您可能需要的任何其他 PHP 包,但请记住,您必须为每个附加包专门指定主版本和次版本。例如:
sudo apt install php7.4 php7.4-json php7.4-xml php7.4-mbstring ...
完成后,确认安装的版本:
$ php -v PHP 7.4.27 (cli) (built: Nov 25 2021 23:16:22) ( NTS ) Copyright (c) The PHP Group ...
启动/重新启动 Apache(如果这是您正在使用的 Web 服务器):
sudo service apache2 start
现在你正在使用最新版本的 PHP 7.4.x,将在 2022 年 11 月 28 日之前接收安全更新。希望到那时你会有一个升级到 PHP 8.0 或 8.1 的计划。