PHP 7 源码安装
<h2>php7 源码安装</h2>
<ul>
<li>一般开发环境可以使用一键安装包,例如phpstudy</li>
<li>生产环境一般使用源码包安装</li>
</ul>
<h2>源码安装php</h2>
<ul>
<li>官网下载网址
<ul>
<li><a href="https://www.php.net/downloads">https://www.php.net/downloads</a></li>
</ul></li>
<li>7.2版本下载地址
<ul>
<li>php.net/get/php-7.2.2.tar.bz2/from/a/mirror</li>
</ul></li>
</ul>
<h2>PHP7源码安装步骤</h2>
<ul>
<li>解压</li>
</ul>
<pre><code class="language-shell">tar -xjvf php-7.2.2.tar.bz2 #解压后生成目录 php-7.2.2
cd php-7.2.2</code></pre>
<ul>
<li>
<p>配置 configure</p>
<ul>
<li>查看configure帮助,一些具体命令</li>
</ul>
<pre><code class="language-shell">./configure --help </code></pre>
<ul>
<li>
<p>configure作用</p>
</li>
<li>
<p>对即将安装的软件进行一些配置</p>
</li>
<li>
<p>先安装gcc,如果没有安装,会提示先安装gcc编译器</p>
</li>
<li>
<p>进行配置</p>
</li>
<li>
<p>./configure --prxifx=安装目录</p>
</li>
<li>
<p>安装目录选择为: /home/work/study/soft/php</p>
</li>
<li>--prxifx不写会默认选择一个安装目录,建议写上安装目录</li>
</ul>
</li>
<li>
<p>编译</p>
<pre><code class="language-shell">make</code></pre>
</li>
<li>
<p>安装</p>
<pre><code class="language-shell">make install</code></pre>
<ul>
<li>安装完后的目录结构为</li>
</ul>
<pre><code class="language-shell">bin
etc
include
lib
php
var</code></pre>
<ul>
<li>测试是否安装成功</li>
</ul>
<pre><code class="language-shell">cd /home/work/study/soft/php
# 查看php版本
./bin/php -v</code></pre>
</li>
</ul>
<h2>简化PHP执行命令,设置php命名</h2>
<ul>
<li>进入当前用户根目录下</li>
</ul>
<pre><code class="language-shell">vi ~/.bash_profile
# 添加别名
alias php=/home/work/study/soft/php/bin/php</code></pre>
<ul>
<li>在当前bash环境下读取并执行文件中的命令</li>
</ul>
<pre><code class="language-shell">source ~/.bash_profile
# 查看php版本
php -v</code></pre>
<h2>php7源码安装踩到的那些坑</h2>
<ul>
<li>
<p>安装 gcc 编译器</p>
</li>
<li>
<p>安装 autoconfig 工具</p>
</li>
<li>
<p>找不到 php.ini 文件</p>
<ul>
<li>在下载php安装包后,解压目录中找 php.ini 文件</li>
<li>php.ini-development 或 php.ini-production 复制后,并重新命名为 php.ini</li>
<li>复制 php.ini 文件到 php 的 etc/ 目录下</li>
<li>/home/work/study/soft/php/bin/php/etc/</li>
</ul>
</li>
<li>
<p>修改 php.ini 的配置,但是配置没有生效</p>
<ul>
<li>排查是否生效方法</li>
</ul>
<pre><code class="language-shell"># 查看php编译文件时 php.ini 安装位置
php -i | grep php.ini
# - 由于在安装 php 编译文件时,没有指定 php.ini 安装位置,php 会默认安装一个位置</code></pre>
<ul>
<li>将 php.ini 文件移动到 php 默认安装到 php.ini 的位置下</li>
</ul>
</li>
</ul>