公有云

如何安装PHP8

Last Updated on by hajime.kurita

如何安装PHP和相关模块

如果您使用的是CentOS7或更早的CentOS,请使用yum而不是dnf。
如果您使用的是Ubuntu,请使用apt-get。

如何安装Linux发行商提供的PHP

PHP可以早于官方PHP,但是其维护由OS发行商完成。
因此,您可以将PHP的更新留给他们。

sudo dnf -y install php;
sudo dnf -y install php-bcmath php-cli php-curl php-devel php-fpm php-gd php-json php-ldap php-mbstring php-mysqlnd php-xml php-odbc php-opcache php-pdo php-pear php-pgsql php-soap php-xml php-xmlrpc php-zip;

如何安装官方PHP提供的PHP

您可以从官方PHP获得最新的PHP,这是值得的。
缺点是您必须赶上官方PHP提供的更新,因此您必须负责这一部分。

#对于CentOS 8
#根据您的系统,这可能会有所不同,因此请参考http://rpms.remirepo.net/enterprise/
#对于PHP 8.0

OSVER=8;
PHPVER=80;
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-$OSVER.rpm;
sudo dnf -y install epel-release yum-utils;
sudo dnf config-manager --set-enabled PowerTools;
sudo dnf -y install php$PHPVER*;
sudo yum -y install php$PHPVER-php-bcmath php$PHPVER-php-cli php$PHPVER-php-curl php$PHPVER-php-devel php$PHPVER-php-fpm php$PHPVER-php-gd php$PHPVER-php-json php$PHPVER-php-ldap php$PHPVER-php-mbstring php$PHPVER-php-mysqlnd php$PHPVER-php-xml php$PHPVER-php-odbc php$PHPVER-php-opcache php$PHPVER-php-pdo php$PHPVER-php-pear php$PHPVER-php-pgsql php$PHPVER-php-soap php$PHPVER-php-xml php$PHPVER-php-xmlrpc php$PHPVER-php-zip;

sudo update-alternatives \
--install /usr/bin/php                       php     /opt/remi/php$PHPVER/root/usr/bin/php   0    \
--slave   /usr/bin/php-cgi                   php-cgi /opt/remi/php$PHPVER/root/usr/bin/php-cgi   \
--slave   /usr/bin/pear                      pear    /opt/remi/php$PHPVER/root/usr/bin/pear      \
--slave   /usr/bin/phar.phar                 phar    /opt/remi/php$PHPVER/root/usr/bin/phar.phar;

如果您有多个版本的PHP,则可以通过以下方式进行切换

sudo alternatives --config php;

在我的环境中,我看到了以下输出。

There are 2 programs which provide 'php'.

  Selection    Command
-----------------------------------------------
*+ 1           /opt/remi/php74/root/usr/bin/php
   2           /opt/remi/php80/root/usr/bin/php

然后输入您要使用的号码。

确认PHP版本

php -v;
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies

安装composer

sudo dnf -y install composer;

如果未通过OS发行版提供composer,请在安装之后进行安装。
https://getcomposer.org/download/

composer.phar将放置在您键入命令的位置,因此应将其移至执行路径。

mv composer.phar /usr/local/bin/;

如何安装PHP-FPM

安装

PHPVER=80;
dnf install -y php$PHPVER-php-fpm;
systemctl enable php$PHPVER-php-fpm;
systemctl start php$PHPVER-php-fpm;

配置文件的设置

vi /etc/opt/remi/php$PHPVER/php-fpm.d/www.conf

要启用通过TCP端口的连接,

#listen = /var/opt/remi/php$PHPVER/run/php-fpm/www.sock
listen = 127.0.0.1:9000

要使php-fpm与nginx而不是APache一起使用,

#group = apache
group = nginx

#user = apache
user = nginx

使用php-fpm时如何处理tmp目录的mkdir失败问题

vi /lib/systemd/system/php$PHPVER-php-fpm.service

然后设置
PrivateTmp = false
在文件中。

编辑后,反映更改。

systemctl daemon-reload;
systemctl restart php$VER-php-fpm;

如何在Mac上安装PHP

如果您安装了自制软件
https://brew.sh/

brew install php;

如果您要安装PHP 8.0,即使homebrew的默认最新php是7.x,

brew update&&brew tap shivammathur/php&&brew install shivammathur/php/php@8.0&&brew link --overwrite --force php@8.0

然后,您可以在使用PHP8
/usr/local/bin/php