Linux下部署Apache+PHP

Linux下部署Apache+PHP

编辑于2021-02-19

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

一、 安装Apache

关闭防火墙

systemctl stop firewalldsystemctl disable firewalld

安装Apache和依赖

yum install httpdyum install httpd-devel

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

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

二、 安装PHP

安装如下依赖

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

下载php-7.2.0.tar.gz至/usr/local目录,解压

tar zxf php-7.2.0.tar.gz

进入解压好的文件夹

cd php-7.2.0

执行配置命令,不要遗漏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

执行编译命令,开始安装PHP,安装目录为/usr/local/php,用时稍长

make && make install

安装完成后拷贝一份php.ini至php安装目录

cp php.ini-production /usr/local/php/php.ini

编辑/etc/profile,将PHP添加至环境变量。

export PATH=$PATH:/usr/local/php/bin

source后执行如下命令测试是否安装成功。

php -v

三、 配置Apache对PHP的解析

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

LoadModule php7_module modules/libphp7.so

在文件末尾加入如下代码以支持Apache对PHP的解析

AddType application/x-httpd-php .php

找到如下代码,在index.html末尾加上index.php

DirectoryIndex index.html

重启Apache服务

systemctl restart httpd

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