介绍

最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级。

适用系统: Ubuntu 18.04 LTS / Ubuntu 16.04 LTS / Ubuntu 14.04 LTS / Debian 9 stretch / Debian 8 jessie

更新内容

PHP7.3 的主要更新内容:

Implemented Flexible Heredoc And Nowdoc Syntaxes
Allow a Trailing Comma in Function Calls
JSON_THROW_ON_ERROR
list() Reference Assignment
is_countable Function
array_key_first(), array_key_last()
Argon2 Password Hash Enhancements
Deprecations

PHP 7.3 并没有带来特别激进的更新,同一天发布更新的 WordPress 5.0 也是第一时间带来了对 PHP7.3 的支持。

当然了 PHP 7.3 也带了性能提升,相比早期的 PHP 7.0 有了近 22% 的性能提升。同时 PHP 5.6 和 7.0 都即将失去 PHP 社区官方的支持,所以也是建议大家能尽快的升级到最新版本。

安装 PHP

Ondřej Surý 的 PHP PPA 为 Ubuntu 18.04/16.04/14.04 提供了 PHP7.2 版本,同时也有为 Debian 9/8 提供 PHP7.2 版本,因此 Ubuntu 是源于 Debian 所以基本可以通用,同时维护难度较低,软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.3-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。

值得一提的是 Ondřej Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。

由于 PHP 7.3 是新出的版本势必有不少的兼容性问题,特别是国产的程序建议等待开发者通知再进行升级,一些 PECL 扩展可能也不会及时适配最新版。建议更新前提前做好备份准备。目前已知的是 WordPress 5.0 版本开始支持 PHP 7.3。

相关教程推荐

添加软件源

Ubuntu

安装软件源拓展工具:

apt -y install software-properties-common apt-transport-https lsb-release ca-certificates

添加 Ondřej Surý 的 PHP PPA 源,需要按一次回车:

add-apt-repository ppa:ondrej/php  

更新软件源缓存:

apt update

Debian

安装软件源拓展工具:

apt -y install software-properties-common apt-transport-https lsb-release ca-certificates

添加 GPG

wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg

添加 sury 软件源

sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'   

更新软件源缓存:

apt-get update

安装软件

安装 PHP7.3:

apt install php7.3-fpm php7.3-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-opcache -y

设置 PHP

安装完成后,编辑 /etc/php/7.3/fpm/php.ini 替换换 ;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0 快捷命令:

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.3/fpm/php.ini 

管理 PHP

安装好了先重启一下!

systemctl restart php7.3-fpm

更多操作:

 
systemctl restart php7.3-fpm #重启
 
systemctl start php7.3-fpm #启动
 
systemctl stop php7.3-fpm #关闭
 
systemctl status php7.3-fpm #检查状态

查看 PHP

验证一下是否安装成功:

 
root@mf88.biz-service:~# php -v
 
PHP 7.3.0-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 6 2018 20:24:55) ( NTS )
 
Copyright (c) 1997-2018 The PHP Group
 
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
 
with Zend OPcache v7.3.0-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

更新 PHP

运行下面的命令系统就会更新所有可以更新的软件包括 PHP

 
apt update
 
apt upgrade -y

安装更多组件

上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见:

 
root@mf88.biz-service:~# apt-cache search php7.3
 
php-amqp - AMQP extension for PHP
 
php-apcu - APC User Cache for PHP
 
php-apcu-bc - APCu Backwards Compatibility Module
 
php-ds - PHP extension providing efficient data structures for PHP 7
 
php-gearman - PHP wrapper to libgearman
 
php-geoip - GeoIP module for PHP
 
php-gmagick - Provides a wrapper to the GraphicsMagick library
 
php-gnupg - PHP wrapper around the gpgme library
 
php-http - PECL HTTP module for PHP Extended HTTP Support
 
php-igbinary - igbinary PHP serializer
 
php-imagick - Provides a wrapper to the ImageMagick library
 
php-mailparse - Email message manipulation for PHP
 
php-memcache - memcache extension module for PHP
 
php-memcached - memcached extension module for PHP, uses libmemcached
 
php-mongodb - MongoDB driver for PHP
 
php-msgpack - PHP extension for interfacing with MessagePack
 
php-oauth - OAuth 1.0 consumer and provider extension
 
php-propro - propro module for PHP
 
php-radius - radius client library for PHP
 
php-raphf - raphf module for PHP
 
php-redis - PHP extension for interfacing with Redis
 
php-rrd - PHP bindings to rrd tool system
 
php-smbclient - PHP wrapper for libsmbclient
 
php-solr - PHP extension for communicating with Apache Solr server
 
php-ssh2 - Bindings for the libssh2 library
 
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP
 
php-tideways - Tideways PHP Profiler Extension
 
php-uploadprogress - file upload progress tracking extension for PHP
 
php-uuid - PHP UUID extension
 
php-yac - YAC (Yet Another Cache) for PHP
 
php-yaml - YAML-1.1 parser and emitter for PHP
 
php-zmq - ZeroMQ messaging bindings for PHP
 
php-xdebug - Xdebug Module for PHP
 
php-lua - PHP Embedded lua interpreter
 
libapache2-mod-php7.3 - server-side, HTML-embedded scripting language (Apache 2 module)
 
libphp7.3-embed - HTML-embedded scripting language (Embedded SAPI library)
 
php7.3-bcmath - Bcmath module for PHP
 
php7.3-bz2 - bzip2 module for PHP
 
php7.3-cgi - server-side, HTML-embedded scripting language (CGI binary)
 
php7.3-cli - command-line interpreter for the PHP scripting language
 
php7.3-common - documentation, examples and common module for PHP
 
php7.3-curl - CURL module for PHP
 
php7.3-dba - DBA module for PHP
 
php7.3-dev - Files for PHP7.3 module development
 
php7.3-enchant - Enchant module for PHP
 
php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
 
php7.3-gd - GD module for PHP
 
php7.3-gmp - GMP module for PHP
 
php7.3-imap - IMAP module for PHP
 
php7.3-interbase - Interbase module for PHP
 
php7.3-intl - Internationalisation module for PHP
 
php7.3-json - JSON module for PHP
 
php7.3-ldap - LDAP module for PHP
 
php7.3-mbstring - MBSTRING module for PHP
 
php7.3-mysql - MySQL module for PHP
 
php7.3-odbc - ODBC module for PHP
 
php7.3-opcache - Zend OpCache module for PHP
 
php7.3-pgsql - PostgreSQL module for PHP
 
php7.3-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
 
php7.3-pspell - pspell module for PHP
 
php7.3-readline - readline module for PHP
 
php7.3-recode - recode module for PHP
 
php7.3-snmp - SNMP module for PHP
 
php7.3-soap - SOAP module for PHP
 
php7.3-sqlite3 - SQLite3 module for PHP
 
php7.3-sybase - Sybase module for PHP
 
php7.3-tidy - tidy module for PHP
 
php7.3-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
 
php7.3-xmlrpc - XMLRPC-EPI module for PHP
 
php7.3-zip - Zip module for PHP
 
php7.3-xsl - XSL module for PHP (dummy)
 
php7.3 - server-side, HTML-embedded scripting language (metapackage)

在 Ubuntu/Debian 下安装 PHP7.3 教程的更多相关文章

  1. ubuntu系统下安装pyspider:搭建pyspider服务器新手教程

    首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...

  2. 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

    当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...

  3. Ubuntu下安装JDK详细教程

    Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ...

  4. Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法

    Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法: https://blog.csdn.net/mingjie1212/article/details/485250 ...

  5. Debian下安装Firefox与flash简介

    Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ...

  6. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

  7. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  8. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  9. pycharm 4.5在debian下安装

    1.去官网下载linux下的Tar包,下载后解压. 2.直接进入解压后的folder里面找bin下面的pycharm.sh,执行后发现没有任何反应. 3.查询资料发现是因为pycharm需要sun j ...

随机推荐

  1. English--不完全及物动词与授予动词

    English|不完全及物动词与授予动词 动词在整个语法中都是占据着十分重要的角色.在五大句型中将动词分为五种:系动词.不及物动词.及物动词.不完全及物动词.授予动词.这篇主讲不完全及物动词和授予动词 ...

  2. mybatis关联映射多对多

    项目开发中,多对多关系也是非常常见的关系 在数据库中创建表的脚本 table.sql CREATE TABLE tb_user( id INT PRIMARY KEY AUTO_INCREMENT, ...

  3. 【开发笔记】-MySQL数据库5.7+版本,编码格式设置

    原因 昨天不小心把数据库搞崩了,重装了5.7.27版本得mysql数据库,在安装过程中并没有设置数据库默认编码格式等操作.在把项目启动后,jpa自动创建表结构,会把数据库,表,字段的编码自动设置为IS ...

  4. 当前标识(IIS APPPOOL\DefaultAppPool)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限

    找到或增加这个目录,给他增加权限.

  5. 【案例】保健品行业如何优化供应链管理?APS系统来帮忙

    仙乐健康一直致力于为了客户提供世界级的产品及服务,随着业务量的不断扩大,公司先后实施了ERP系统,CRM系统,WMS系统,OA系统,朝着行业信息化水平领先的目标迈进. 但近年仅仅拥有传统ERP系统和手 ...

  6. Linux more与less命令

    1.命令简介 more (more) 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比,方便逐页阅读(file perusal filter fo ...

  7. linux服务器问题排查:w命令卡住

    基本情况 系统: ubuntu16.04 症状: who命令可以用,w命令用不了 sudo iotop命令会卡住,黑屏 nvidia-smi命令和nvl命令都用不了,卡住 排查步骤 strace ps ...

  8. angular8 配置 测试环境打包指令 生成测试环境包指令

    1.angular.json 文件中在architect 下添加 buildTest指令 距离位置 projects => (你的项目名称) => architect 下和 build 指 ...

  9. 技术分享 | mysql 表数据校验

    1. checksum table. checksum table 会对表一行一行进行计算,直到计算出最终的 checksum 结果.比如对表 n4 进行校验(记录数 157W,大小为 4G) [yt ...

  10. Unity 渲染教程(三):使用多张纹理贴图

    对多个纹理进行采样 应用一张细节贴图 在线性空间中处理颜色 使用一张splat纹理 这是关于渲染的教程系列的第三部分. 前面的部分介绍了着色器和纹理. 我们已经看到如何使用单个纹理来使平坦表面看起来更 ...