适用系统: Ubuntu 16.04 LTS / Ubuntu 14.04 LTS / Debian 9 stretch / Debian 8 jessie
安装 PHP
Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP7.2 版本,同时也有通过个人网站为 Debian 9/8 提供 PHP7.2 版本,因此 Ubuntu 是源于 Debian 所以基本可以通用,同时维护难度较低,软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.1-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。
添加软件源
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.2:
apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y
设置 PHP
安装完成后,编辑 /etc/php/7.2/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.2/fpm/php.ini
管理 PHP
安装好了先重启一下!
systemctl restart php7.2-fpm
更多操作:
systemctl restart php7.2-fpm #重启
systemctl start php7.2-fpm #启动
systemctl stop php7.2-fpm #关闭
systemctl status php7.2-fpm #检查状态
更新 PHP
运行下面的命令系统就会更新所有可以更新的软件包括 PHP
apt update
apt upgrade -y
安装更多组件
上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见:
root@mf88.biz-service:~# apt-cache search php7.2
php-radius - radius client library for PHP
php-http - PECL HTTP module for PHP Extended HTTP Support
php-uploadprogress - file upload progress tracking extension for PHP
php-yaml - YAML-1.1 parser and emitter for PHP
php-mongodb - MongoDB driver for PHP
php-apcu - APC User Cache for PHP
php-imagick - Provides a wrapper to the ImageMagick library
php-ssh2 - Bindings for the libssh2 library
php-redis - PHP extension for interfacing with Redis
php-memcached - memcached extension module for PHP, uses libmemcached
php-apcu-bc - APCu Backwards Compatibility Module
php-rrd - PHP bindings to rrd tool system
php-uuid - PHP UUID extension
php-memcache - memcache extension module for PHP
php-zmq - ZeroMQ messaging bindings for PHP
php-igbinary - igbinary PHP serializer
php-msgpack - PHP extension for interfacing with MessagePack
php-geoip - GeoIP module for PHP
php-tideways - Tideways PHP Profiler Extension
php-yac - YAC (Yet Another Cache) for PHP
php-mailparse - Email message manipulation for PHP
php-oauth - OAuth 1.0 consumer and provider extension
php-gnupg - PHP wrapper around the gpgme library
php-propro - propro module for PHP
php-raphf - raphf module for PHP
php-solr - PHP extension for communicating with Apache Solr server
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP
php-gearman - PHP wrapper to libgearman
php-phalcon - full-stack PHP framework delivered as a C-extension
php-ds - PHP extension providing efficient data structures for PHP 7
php-sass - PHP bindings to libsass - fast, native Sass parsing in PHP
php-lua - PHP Embedded lua interpreter
libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module)
libphp7.2-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-enchant - Enchant module for PHP
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd - GD module for PHP
php7.2-gmp - GMP module for PHP
php7.2-imap - IMAP module for PHP
php7.2-interbase - Interbase module for PHP
php7.2-intl - Internationalisation module for PHP
php7.2-json - JSON module for PHP
php7.2-ldap - LDAP module for PHP
php7.2-mbstring - MBSTRING module for PHP
php7.2-mysql - MySQL module for PHP
php7.2-odbc - ODBC module for PHP
php7.2-opcache - Zend OpCache module for PHP
php7.2-pgsql - PostgreSQL module for PHP
php7.2-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell - pspell module for PHP
php7.2-readline - readline module for PHP
php7.2-recode - recode module for PHP
php7.2-snmp - SNMP module for PHP
php7.2-soap - SOAP module for PHP
php7.2-sqlite3 - SQLite3 module for PHP
php7.2-sybase - Sybase module for PHP
php7.2-tidy - tidy module for PHP
php7.2-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc - XMLRPC-EPI module for PHP
php7.2-zip - Zip module for PHP
php7.2-xsl - XSL module for PHP (dummy)
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-sodium - libsodium module for PHP
以后内容转载自https://www.mf8.biz/debian-install-php7-2/
安装MySQL或MariaDB
在这一步中,我将向您展示如何安装MySQL或MariaDB。 您可以自由选择您喜欢的数据库系统。 只要确保只安装一个数据库引擎,而不安装MySQL和MariaDB。
安装MySQL
Debian 9的MySQL包可以直接从Oracle获得。 Oracle提供了一个MySQL存储库包,它将Oracle MySQL存储库集成到Debian中,以便我们可以使用apt来安装和更新MySQL。 如果下载的wget下载由于下载URL的更改而失败,请在此处获取MySQL存储库包。
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
dpkg -i mysql-apt-config_0.8.9-1_all.deb
选择配置列表中的“确定”,然后将“确定”按钮集中在页脚处,然后按Enter键。 这将选择当前的稳定版本,这是MySQL 5.7。
选择当前稳定的MySQL版本
现在我们将更新软件包列表并安装MySQL服务器和客户端软件包。
apt-get update
apt-get -y install mysql-community-client mysql-community-server
MySQL安装程序将要求您为MySQL根用户设置密码。 选择一个长而安全的密码,因为这个密码允许对MySQL数据库进行完全的管理访问。
设置MySQL根密码
按要求重新输入密码。
##完全卸载清理MySQL服务器
sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
apt-get autoremove
apt-get autoclean
rm /etc/mysql/ -R
rm /var/lib/mysql/ -R
安装MariaDB
为了安装MariaDB,我们运行:
apt-get -y install mariadb-server mariadb-client
与MySQL安装程序不同,MariaDB安装程序在安装期间不会设置root密码。 要保护MariaDB安装,请删除匿名用户并禁用测试数据库,请运行以下命令:
mysql_secure_installation
回答如下问题:
Change the root password? [Y/n] <-- y
New password: <-- Enter a new MySQL root password
Re-enter new password: <-- Repeat the MySQL root password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Remove test database and access to it? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y
以上内容转载自https://www.howtoing.com/how-to-install-nginx-with-php-and-mysql-lemp-on-debian-9
0 评论