搓衣板 發表於 2021-2-19 22:48:00

Linux下部署Apache+PHP

<h1 class="md-end-block md-heading"><span class="md-plain md-expand">Linux下部署Apache+PHP</span></h1>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">编辑于2021-02-19</span></p>
<p class="md-end-block md-p"><span class="md-plain">本文中Apache配置文件目录为/etc/httpd/conf/httpd.conf,PHP安装目录为/usr/local/php</span></p>
</blockquote>
<h4 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">一、 安装Apache</span></h4>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">关闭防火墙</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>systemctl <span class="cm-builtin">stop firewalld<br><span>systemctl disable firewalld</span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">安装Apache和依赖</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>yum install httpd<br><span>yum install httpd-devel</span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">查看apxs所在路径,用于编译PHP时生成/etc/httpd/modules/libphp7.so,若没有这个依赖,Apache无法解析PHP代码</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>rpm <span class="cm-attribute">-ql httpd-devel|grep apxs<br><span>/usr/bin/apxs<span class="cm-tab">   <span class="cm-tab">    <span class="cm-comment"># 查询结果</span></span></span></span></span></span></pre>
</li>
</ol>
<p class="md-end-block md-p">&nbsp;</p>
<h4 class="md-end-block md-heading"><span class="md-plain">二、 安装PHP</span></h4>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">安装如下依赖</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>yum install <span class="cm-attribute">-y <span class="cm-builtin">gcc gcc-c<span class="cm-operator">++ &nbsp;<span class="cm-builtin">make zlib zlib-devel pcre pcre-devellibjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel <span class="cm-builtin">curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel <span class="cm-builtin">openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers</span></span></span></span></span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">下载php-7.2.0.tar.gz至/usr/local目录,解压</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>tar zxf php-7.2.0.tar.gz</span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">进入解压好的文件夹</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-builtin">cd php-7.2.0</span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">执行配置命令,不要遗漏apxs路径的配置</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>./configure <span class="cm-attribute">--prefix<span class="cm-operator">=/usr/local/php <span class="cm-attribute">--with-config-file-path<span class="cm-operator">=/usr/local/php <span class="cm-attribute">--enable-mbstring <span class="cm-attribute">--with-openssl <span class="cm-attribute">--enable-ftp <span class="cm-attribute">--with-gd <span class="cm-attribute">--with-jpeg-dir<span class="cm-operator">=/usr <span class="cm-attribute">--with-png-dir<span class="cm-operator">=/usr <span class="cm-attribute">--with-mysql<span class="cm-operator">=mysqlnd <span class="cm-attribute">--with-mysqli<span class="cm-operator">=mysqlnd <span class="cm-attribute">--with-pdo-mysql<span class="cm-operator">=mysqlnd <span class="cm-attribute">--with-pear <span class="cm-attribute">--enable-sockets <span class="cm-attribute">--with-freetype-dir<span class="cm-operator">=/usr <span class="cm-attribute">--with-zlib <span class="cm-attribute">--with-libxml-dir<span class="cm-operator">=/usr <span class="cm-attribute">--with-xmlrpc <span class="cm-attribute">--enable-zip <span class="cm-attribute">--enable-fpm <span class="cm-attribute">--enable-xml <span class="cm-attribute">--enable-sockets <span class="cm-attribute">--with-gd <span class="cm-attribute">--with-zlib <span class="cm-attribute">--with-iconv <span class="cm-attribute">--with-apxs2<span class="cm-operator">=/usr/bin/apxs <span class="cm-attribute">--enable-zip <span class="cm-attribute">--with-freetype-dir<span class="cm-operator">=/usr/lib/ <span class="cm-attribute">--enable-soap <span class="cm-attribute">--enable-pcntl <span class="cm-attribute">--enable-cli <span class="cm-attribute">--with-curl</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></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">执行编译命令,开始安装PHP,安装目录为/usr/local/php,用时稍长</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-builtin">make &amp;&amp; <span class="cm-builtin">make install</span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">安装完成后拷贝一份php.ini至php安装目录</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-builtin">cp php.ini-production /usr/local/php/php.ini</span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">编辑/etc/profile,将PHP添加至环境变量。</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-keyword">export <span class="cm-def">PATH<span class="cm-operator">=<span class="cm-def">$PATH:/usr/local/php/bin</span></span></span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">source后执行如下命令测试是否安装成功。</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>php <span class="cm-attribute">-v</span></span></pre>
</li>
</ol>
<p class="md-end-block md-p">&nbsp;</p>
<h4 class="md-end-block md-heading"><span class="md-plain">三、 配置Apache对PHP的解析</span></h4>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">编辑/etc/httpd/conf/httpd.conf,寻找以下代码,若没有则加入到LoadModule处</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>LoadModule php7_module modules/libphp7.so</span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">在文件末尾加入如下代码以支持Apache对PHP的解析</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>&lt;IfModule mod_php7.c&gt;<br><span>AddType application/x-httpd-php .php<br><span>&lt;/IfModule&gt;</span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">找到如下代码,在index.html末尾加上index.php</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>&lt;IfModule dir_module&gt;<br><span>DirectoryIndex index.html<br><span>&lt;/IfModule&gt;</span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">重启Apache服务</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>systemctl <span class="cm-builtin">restart httpd</span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain md-expand">在/var/www/html下放入php文件,通过web页面访问,若能执行PHP代码而不是直接输出PHP代码,说明配置成功</span></p>
</li>
</ol><br><br>
来源:https://www.cnblogs.com/JetXi/p/14418576.html
頁: [1]
查看完整版本: Linux下部署Apache+PHP