[转]Debian 下部署 PHP 运行环境
<div class="post-header"><h1 class="post-title">Debian 下部署 PHP 运行环境</h1>
</div>
<div id="post-content" class="post-content">
<p>本文简单介绍下如何在 Debian 9 (stretch) 上部署 PHP-7 最新版。</p>
<blockquote>
<p>本文以 Debian 9 为例,本文所用源仅可在 Debian 上使用,Ubuntu 请勿使用。</p>
</blockquote>
<h2 id="directory068063948901158481">更新</h2>
<h3 id="directory068063948901158482">PHP 7.3</h3>
<p>PHP 7.3 版本已于 2018 年 12 月 06 日正式发布GA版。</p>
<p><strong>本文源已经支持最新版的安装,请将安装命令中的 7.2 改为 7.3 即可。</strong></p>
<h2 id="directory068063948901158483">原文</h2>
<p>PHP 7.2 版本已于 2017 年 11 月 30 日正式发布GA版。</p>
<h2 id="directory068063948901158484">快速部署</h2>
<p>Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP-7.2 版本,也通过个人网站为 Debian 9/8/7 提供 PHP 7.2 版本。</p>
<p>Ondřej Surý 是 PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。源安装的 PHP 默认以 <code>Unix Socket</code> 的状态运行在 <code>/run/php/php7.2-fpm.sock</code>,比使用 <code>TCP</code> 以 <code>localhost:9000</code> 的方式性能更好。</p>
<h3 id="directory068063948901158485">兼容性说明</h3>
<p>由于 PHP-7.2 是新出的版本势必有不少的兼容性问题,建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。</p>
<h3 id="directory068063948901158486">添加 GPG 密钥</h3>
<pre><code class="language-bash hljs"><span class="hljs-comment"># wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg</span></code></pre>
<blockquote>
<p>注意:这里我们使用了 Sury 的一个香港镜像站,以便快速下载。国外的机器请使用以下原始地址。</p>
</blockquote>
<pre><code class="language-bash hljs"><span class="hljs-comment"># wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg</span></code></pre>
<h3 id="directory068063948901158487">安装所需依赖</h3>
<pre><code class="language-bash hljs"><span class="hljs-comment"># apt install apt-transport-https</span></code></pre>
<h3 id="directory068063948901158488">添加软件源</h3>
<pre><code class="language-bash hljs"><span class="hljs-comment"># echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list</span></code></pre>
<h3 id="directory068063948901158489">更新软件源缓存</h3>
<pre><code class="language-bash hljs"><span class="hljs-comment"># apt update</span></code></pre>
<h3 id="directory0680639489011584810">安装软件</h3>
<pre><code class="language-bash hljs"><span class="hljs-comment"># apt install -y 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</span></code></pre>
<h3 id="directory0680639489011584811">配置及优化</h3>
<p>安装完成后,编辑 <code>/etc/php/7.2/fpm/php.ini</code> 替换 <code>;cgi.fix_pathinfo=1</code> 为 <code>cgi.fix_pathinfo=0</code></p>
<pre><code class="language-bash hljs"><span class="hljs-comment"># sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.2/fpm/php.ini</span></code></pre>
<p>配置修改了,需要重启生效,命令如下</p>
<pre><code class="language-bash hljs"><span class="hljs-comment"># systemctl restart php7.2-fpm</span></code></pre>
<p>更多日常的操作:</p>
<pre><code class="language-bash hljs">systemctl restart php7.2-fpm <span class="hljs-comment">#重启
systemctl start php7.2-fpm <span class="hljs-comment">#启动
systemctl stop php7.2-fpm <span class="hljs-comment">#停止
systemctl status php7.2-fpm <span class="hljs-comment">#检查状态</span></span></span></span></code></pre>
<h3 id="directory0680639489011584812">安装更多组件</h3>
<p>上面的一条命令安装 PHP 只是安装了部分拓展,更多的软件可见</p>
<pre><code class="language-bash hljs">apt-cache search php7.2</code></pre>
<p>使用命令即可显示全部扩展</p>
<pre><code class="language-bash hljs">php-radius - radius client library <span class="hljs-keyword">for PHP
php-http - PECL HTTP module <span class="hljs-keyword">for PHP Extended HTTP Support
php-uploadprogress - file upload progress tracking extension <span class="hljs-keyword">for PHP
php-yaml - YAML-1.1 parser and emitter <span class="hljs-keyword">for PHP
php-mongodb - MongoDB driver <span class="hljs-keyword">for PHP
php-apcu - APC User Cache <span class="hljs-keyword">for PHP
php-imagick - Provides a wrapper to the ImageMagick library
php-ssh2 - Bindings <span class="hljs-keyword">for the libssh2 library
php-redis - PHP extension <span class="hljs-keyword">for interfacing with Redis
php-memcached - memcached extension module <span class="hljs-keyword">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 <span class="hljs-keyword">for PHP
php-zmq - ZeroMQ messaging bindings <span class="hljs-keyword">for PHP
php-igbinary - igbinary PHP serializer
php-msgpack - PHP extension <span class="hljs-keyword">for interfacing with MessagePack
php-geoip - GeoIP module <span class="hljs-keyword">for PHP
php-tideways - Tideways PHP Profiler Extension
php-yac - YAC (Yet Another Cache) <span class="hljs-keyword">for PHP
php-mailparse - Email message manipulation <span class="hljs-keyword">for PHP
php-oauth - OAuth 1.0 consumer and provider extension
php-gnupg - PHP wrapper around the gpgme library
php-propro - propro module <span class="hljs-keyword">for PHP
php-raphf - raphf module <span class="hljs-keyword">for PHP
php-solr - PHP extension <span class="hljs-keyword">for communicating with Apache Solr server
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module <span class="hljs-keyword">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 <span class="hljs-keyword">for PHP 7
php-sass - PHP bindings to libsass - fast, native Sass parsing <span class="hljs-keyword">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 <span class="hljs-keyword">for PHP
php7.2-bz2 - bzip2 module <span class="hljs-keyword">for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - <span class="hljs-built_in">command-line interpreter <span class="hljs-keyword">for the PHP scripting language
php7.2-common - documentation, examples and common module <span class="hljs-keyword">for PHP
php7.2-curl - CURL module <span class="hljs-keyword">for PHP
php7.2-dba - DBA module <span class="hljs-keyword">for PHP
php7.2-dev - Files <span class="hljs-keyword">for PHP7.2 module development
php7.2-enchant - Enchant module <span class="hljs-keyword">for PHP
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd - GD module <span class="hljs-keyword">for PHP
php7.2-gmp - GMP module <span class="hljs-keyword">for PHP
php7.2-imap - IMAP module <span class="hljs-keyword">for PHP
php7.2-interbase - Interbase module <span class="hljs-keyword">for PHP
php7.2-intl - Internationalisation module <span class="hljs-keyword">for PHP
php7.2-json - JSON module <span class="hljs-keyword">for PHP
php7.2-ldap - LDAP module <span class="hljs-keyword">for PHP
php7.2-mbstring - MBSTRING module <span class="hljs-keyword">for PHP
php7.2-mysql - MySQL module <span class="hljs-keyword">for PHP
php7.2-odbc - ODBC module <span class="hljs-keyword">for PHP
php7.2-opcache - Zend OpCache module <span class="hljs-keyword">for PHP
php7.2-pgsql - PostgreSQL module <span class="hljs-keyword">for PHP
php7.2-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell - pspell module <span class="hljs-keyword">for PHP
php7.2-readline - readline module <span class="hljs-keyword">for PHP
php7.2-recode - recode module <span class="hljs-keyword">for PHP
php7.2-snmp - SNMP module <span class="hljs-keyword">for PHP
php7.2-soap - SOAP module <span class="hljs-keyword">for PHP
php7.2-sqlite3 - SQLite3 module <span class="hljs-keyword">for PHP
php7.2-sybase - Sybase module <span class="hljs-keyword">for PHP
php7.2-tidy - tidy module <span class="hljs-keyword">for PHP
php7.2-xml - DOM, SimpleXML, WDDX, XML, and XSL module <span class="hljs-keyword">for PHP
php7.2-xmlrpc - XMLRPC-EPI module <span class="hljs-keyword">for PHP
php7.2-zip - Zip module <span class="hljs-keyword">for PHP
php7.2-xsl - XSL module <span class="hljs-keyword">for PHP (dummy)
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-sodium - libsodium module <span class="hljs-keyword">for PHP</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<h3 id="directory0680639489011584813">参考链接</h3>
</div><br><br>
来源:https://www.cnblogs.com/neights/p/12671183.html
頁:
[1]