Apache httpd结合php,yum方式和源码方式
   1 分钟阅读    邵晨峰

Apache httpd结合php,yum方式和源码方式

Apache httpd和php的结合方式有两种:

  • DSO方式,php作为httpd的模块
  • FCGI方式,使用php-fpm单独管理php进程池

yum方式安装httpd和php

centos8

dnf install httpd
dnf install php

默认是php7.2版本

centos7

yum install httpd
yum install php

默认是php5.4版本

这会自动为httpd安装php插件,并启用,使用OSO方式运行php,也就是php作为httpd的模块
默认为每个网站都配置了php的支持,直接就能可以使用

测试一下

创建测试文件

echo -e "<?php\nphpinfo();\n?>"> /var/www/html/index.php
echo -e "<?php\nphpinfo();\n?>"> /usr/share/nginx/html/index.php

这样就可以通过 http://<你的服务器ip> 访问下

源码方式安装php7.3

环境 centos8

1.首先安装 httpd 和 httpd-devel

这里安装httpd-devel是为了使用apxs动态加载插件

dnf install httpd httpd-devel

2.安装必要的依赖

dnf install libxml2-devel openssl-devel libcurl libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel libzip-devel gcc make

3.下载php源码包

wget https://www.php.net/distributions/php-7.3.13.tar.xz

4.解压、编译、安装

cd php-7.3.13
tar xvf php-7.3.13.tar.xz
./configure --prefix=/opt/php7.3 --with-apxs2=/usr/bin/apxs --with-config-file-path=/opt/php7.3/usr --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/opt/php7.3/usr --with-png-dir=/opt/php7.3/usr --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/opt/php7.3/usr --with-zlib --with-libxml-dir=/opt/php7.3/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/opt/php7.3/usr/lib --enable-soap --enable-pcntl --enable-cli --with-curl --enable-bcmath --with-gettext
make && make install

这里使用 --prefix=/opt/php7.3 安装在 /opt/php7.3 ,可以自定义安装位置

这里使用 --with-apxs2=/usr/bin/apxs 指出了apxs的位置,如果是源码安装的httpd,则在安装目录下的 ./sbin/apxs

5.复制配置文件

cp php.ini-development /opt/php7.3/php.ini

6.配置httpd使用php

cd httpd.conf

LoadModule php7_module	modules/libphp7.so # 有可能已经自动添加了