在 Ubuntu/Debian 下安装 PHP7.3 教程
介绍
最近的 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 updateDebian
安装软件源拓展工具:
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 教程的更多相关文章
- ubuntu系统下安装pyspider:搭建pyspider服务器新手教程
		首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ... 
- 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)
		当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ... 
- Ubuntu下安装JDK详细教程
		Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ... 
- Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法
		Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法: https://blog.csdn.net/mingjie1212/article/details/485250 ... 
- Debian下安装Firefox与flash简介
		Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ... 
- Ubuntu 16.04安装Matlab 2016b教程
		由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ... 
- Linux(Ubuntu)下安装NodeJs
		用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ... 
- Redhat/Ubuntu/Windows下安装Docker
		Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ... 
- pycharm 4.5在debian下安装
		1.去官网下载linux下的Tar包,下载后解压. 2.直接进入解压后的folder里面找bin下面的pycharm.sh,执行后发现没有任何反应. 3.查询资料发现是因为pycharm需要sun j ... 
随机推荐
- win10环境变量PATH——路径添加
			我的电脑---->属性---->环境变量---->系统变量,选择path,点击“编辑”,“新建”,然后将路径添加上去即可 
- Java自学-异常处理 Throwable
			Java Throwable类 步骤 1 : Throwable Throwable是类,Exception和Error都继承了该类 所以在捕捉的时候,也可以使用Throwable进行捕捉 如图: 异 ... 
- HTML中marquee标签的使用
			HTML5之前,marquee作为滚动标签被经常使用,具体用法如下: <marquee>默认向左滚动</marquee> 选项: 1.behavior 滚动的方式 altern ... 
- 走一次HashMap的存取
			忘了太多东西,好好复习. 存: if ((tab = table) == null || (n = tab.length) == 0) n = (tab = resize()).length;//检查 ... 
- excel 宏循环行数据 ,Excel统计所有sheet数据行数 VBA
			Sub fun1() '统计每一个sheet有多少行数据 Set s1 = Sheets("Sheet1") 'totalok = 0 To Sheets.Count s1.Cel ... 
- Redis分布式锁原理
			1. Redis分布式锁原理 1.1. Redisson 现在最流行的redis分布式锁就是Redisson了,来看看它的底层原理就了解redis是如何使用分布式锁的了 1.2. 原理分析 分布式锁要 ... 
- css中absolute设置问题和如何让div居中
			今天设置多个div到页面正中间的时候,在第一层<div class="map">中设置如下: .map{ position:absolute: top:50%; lef ... 
- docker中安装及使用mysql
			打算构造一个环境较全的linux环境,所以在本地弄了个docker.然后pull了一个centos的镜像,并打算在此镜像的基本上,构建适合自己的镜像.但在使用时,发现了各种问题,还是费了一些功夫.原因 ... 
- Python之路(第四十二篇)线程相关的其他方法、join()、Thread类的start()和run()方法的区别、守护线程
			一.线程相关的其他方法 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名.  threadin ... 
- 微信小程序 - scroll-view的scroll-into-view属性 - 在页面打开后滚动到指定的项
			需求: 这是一个可横向滚动的导航条,现在要求我,从别的页面reLaunch回到首页这里,刷新页面内容的同时,菜单项要滚动出来 (如果该菜单项不在可视区域),而不是让他被挡住. 代码:<scrol ... 
