Ubuntu 免编译安装 PHP-FPM

介绍

前面我们已经介绍 OpenResty 的编译安装教程,这里将介绍安装 PHP 的教程。这里我们将完全不编译任何组件,完全依赖软件源安装。提供 PHP 软件源的 Ondřej Surý 大神是 Debian PHP源的维护者,所以无需担心软件的安全和性能问题肯定比我们自己编译更好(对于新手来说)。如果我们对软件版本号不敏感,不关注安全资讯并不会及时作出更新来修补漏洞。

适用系统:Ubuntu 16.04 LTS / Ubuntu 14.04 LTS

安装 PHP

Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP7.1、PHP7.0、PHP5.6 三个版本,未来可能会是持续更新的三个版本。

软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.1-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。

安装软件源拓展

安装软件源拓展工具:

apt -y install software-properties-common

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

add-apt-repository ppa:ondrej/php  

更新软件源缓存:

apt update

安装软件

安装 PHP7.1:

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

安装 PHP7.0:

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

安装 PHP5.6:

apt install php5.6-fpm php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc php5.6-zip php5.6-opcache -y

设置 PHP

这里以 PHP7.1 为例,其他版本仅需将版本号改成自己所用的即可.

安装完成后,编辑 /etc/php/7.1/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.1/fpm/php.ini 

管理 PHP

安装好了先重启一下! 更多操作:

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

查看当前 PHP 版本:

root@mf88.biz-service:~# php -v
PHP 7.1.6-1~ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun  9 2017 08:26:34) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.6-1~ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

    with Zend OPcache v7.1.6-1~ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

更新 PHP

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

apt update
apt upgrade -y

安装更多组件

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

root@mf88.biz-service:~# apt-cache search php7.1

libapache2-mod-php7.1 - server-side, HTML-embedded scripting language (Apache 2 module)
php-all-dev - package depending on all supported PHP development packages
php7.1 - server-side, HTML-embedded scripting language (metapackage)
php7.1-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.1-cli - command-line interpreter for the PHP scripting language
php7.1-common - documentation, examples and common module for PHP
php7.1-curl - CURL module for PHP
php7.1-dev - Files for php7.1 module development
php7.1-gd - GD module for PHP
php7.1-gmp - GMP module for PHP
php7.1-json - JSON module for PHP
php7.1-ldap - LDAP module for PHP
php7.1-mysql - MySQL module for PHP
php7.1-odbc - ODBC module for PHP
php7.1-opcache - Zend OpCache module for PHP
php7.1-pgsql - PostgreSQL module for PHP
php7.1-pspell - pspell module for PHP
php7.1-readline - readline module for PHP
php7.1-recode - recode module for PHP
php7.1-snmp - SNMP module for PHP
php7.1-sqlite3 - SQLite3 module for PHP
php7.1-tidy - tidy module for PHP
php7.1-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.1-xmlrpc - XMLRPC-EPI module for PHP
libphp7.1-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.1-bcmath - Bcmath module for PHP
php7.1-bz2 - bzip2 module for PHP
php7.1-enchant - Enchant module for PHP
php7.1-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.1-imap - IMAP module for PHP
php7.1-interbase - Interbase module for PHP
php7.1-intl - Internationalisation module for PHP
php7.1-mbstring - MBSTRING module for PHP
php7.1-mcrypt - libmcrypt module for PHP
php7.1-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.1-soap - SOAP module for PHP
php7.1-sybase - Sybase module for PHP
php7.1-xsl - XSL module for PHP (dummy)
php7.1-zip - Zip module for PHP
php7.1-dba - DBA module for PHP

发表评论

发表评论

*

沙发空缺中,还不快抢~