Linux下部署Apache+PHP

编辑于2021-02-19

本文中Apache配置文件目录为/etc/httpd/conf/httpd.conf,PHP安装目录为/usr/local/php

一、 安装Apache

  1. 关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld
  2. 安装Apache和依赖

    yum install httpd
    yum install httpd-devel
  3. 查看apxs所在路径,用于编译PHP时生成/etc/httpd/modules/libphp7.so,若没有这个依赖,Apache无法解析PHP代码

    rpm -ql httpd-devel|grep apxs
    /usr/bin/apxs # 查询结果

 

二、 安装PHP

  1. 安装如下依赖

    yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  2. 下载php-7.2.0.tar.gz至/usr/local目录,解压

    tar zxf php-7.2.0.tar.gz
  3. 进入解压好的文件夹

    cd php-7.2.0
  4. 执行配置命令,不要遗漏apxs路径的配置

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --with-apxs2=/usr/bin/apxs --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
  5. 执行编译命令,开始安装PHP,安装目录为/usr/local/php,用时稍长

    make && make install
  6. 安装完成后拷贝一份php.ini至php安装目录

    cp php.ini-production /usr/local/php/php.ini
  7. 编辑/etc/profile,将PHP添加至环境变量。

    export PATH=$PATH:/usr/local/php/bin
  8. source后执行如下命令测试是否安装成功。

    php -v

 

三、 配置Apache对PHP的解析

  1. 编辑/etc/httpd/conf/httpd.conf,寻找以下代码,若没有则加入到LoadModule处

    LoadModule php7_module modules/libphp7.so
  2. 在文件末尾加入如下代码以支持Apache对PHP的解析

    <IfModule mod_php7.c>
    AddType application/x-httpd-php .php
    </IfModule>
  3. 找到如下代码,在index.html末尾加上index.php

    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
  4. 重启Apache服务

    systemctl restart httpd
  5. 在/var/www/html下放入php文件,通过web页面访问,若能执行PHP代码而不是直接输出PHP代码,说明配置成功

版权声明:本文为charon233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/charon233/p/14418576.html