apache中配置php支持模块模式、cgi模式和fastcgi模式的实验
首先安装apache、mysql和php,依次顺序安装。 1.apache、mysql的安装比较简单,略过 2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了。 ./configure prefix=/usr/local/php5 / --with-mysql=/usr/local/mysql / --enable-fpm --wi
首先安装apache、mysql和php,依次顺序安装。
1.apache、mysql的安装比较简单,略过
2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了。
./configure –prefix=/usr/local/php5 /
--with-mysql=/usr/local/mysql /
--enable-fpm
--with-apxs2=/usr/local/apache/bin/apxs
注意:
--enable-fastcgi
--enable-force-cgi-redirect
这2个php新版本已经内置支持,所以如果加上这2个参数,make完毕会提示这2个参数找不到。所以不需要加这2个参数了。
--with-apxs2
这个参数看到有的文章说需要fastcgi模式的话,就不能配置这个,其实也不完全是这样,这个参数的用途只不过是把php的解释模块编译成so文件添加到apache的modules中,并且自动添加到conf文件。如果我们不想用模块模式的话,在httpd.conf中把:
LoadModule php5_module modules/libphp5.so
这行注释掉就可以了。
3.mod_fastcgi的安装
#wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
# tar -zxvf mod_fastcgi-2.4.6.tar.gz
# cd mod_fastcgi-2.4.6
# cp Makefile.AP2 Makefile
# vim Makefile 将Makefile中的路径改成你的apache的安装路径
# make install 安装成功
安装成功后,会自动把mod_fastcgi.so复制到/usr/local/apache/modules目录
接下来是如何配置这4种模式:
1.模块模式
这种模式最简单,在http.conf中增加
LoadModule php5_module modules/libphp5.so
即可。然后在
AddType application/x-httpd-php .php
AddType applicaiton/x-httpd-php-source .phps
2.CGI模式
这种模式需要注释掉
LoadModule php5_module modules/libphp5.so 这行。如果不注释这行会一直走到handler模式。也就是模块模式。
然后在httpd.conf增加action:
Action application/x-httpd-php /cgi-bin/php-cgi
如果在/cgi-bin/目录找不到php-cgi.可自行从php的bin里面cp一个。
然后重启apache,再打开测试页面发现Server API变成:CGI/FastCGI。说明成功切换为cgi模式。
3.FastCgi模式,用apche内置进程管理器
首先要添加fastcgi模块到httpd.conf配置文件:
LoadModule fastcgi_module modules/mod_fastcgi.so
这种模式注释不注释LoadModule php5_module modules/libphp5.so这行貌似没什么关系,只要配置了以下模块
FastCgiServer /usr/local/apache/cgi-bin/php-cgi -processes 20
AddType application/x-httpd-php .php
AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php-cgi
就会自动走到fastcgi模式。
然后重启apache,这个时候用 ps aux|grep php就会发现有很多php-cgi进程在运行。说明配置生效
4.FastCgi模式,用php-fpm进程管理器
首先要添加fastcgi模块到httpd.conf配置文件:
LoadModule fastcgi_module modules/mod_fastcgi.so
接着修改配置文件成:
FastCgiExternalServer /usr/local/apache/cgi-bin/php-cgi -host 127.0.0.1:9000
AddType application/x-httpd-php .php
AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php-cgi
注意,127.0.0.1:9000是php-fpm的开启端口,所以我们还需要把php-fpm打开。
我电脑的位置是.
>>>/usr/local/php5/sbin/php-fpm
打开后再ps aux|grep php
会发现很多php-fpm的进程:
root 7002 0.4 1.5 13060 1912 ? Ss 15:20 0:00 php-fpm: master process (/usr/local/php5/etc/php-fpm.conf)
nobody 7003 0.0 1.3 13052 1656 ? S 15:20 0:00 php-fpm: pool www
nobody 7004 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7005 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7006 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7007 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7008 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7009 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7010 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7011 0.0 1.3 13052 1660 ? S 15:20 0:00 php-fpm: pool www
nobody 7012 0.0 1.3 13052 1668 ? S 15:20 0:00 php-fpm: pool www
nobody 7013 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7014 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7015 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7016 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7017 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7018 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7019 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7020 0.0 1.3 13052 1676 ? S 15:20 0:00 php-fpm: pool www
nobody 7021 0.0 1.3 13052 1672 ? S 15:20 0:00 php-fpm: pool www
nobody 7022 0.0 1.3 13052 1676 ? S 15:20 0:00 php-fpm: pool www
再测试下访问没问题,大功搞成咯。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

CMS 代表内容管理系统。它是一种软件应用程序或平台,使用户能够创建、管理和修改数字内容,而无需先进的技术知识。 CMS 允许用户轻松创建和组织内容

数组是编程中用于处理数据的线性数据结构。有时在处理数组时,我们需要向现有数组中添加新元素。在本文中,我们将讨论几种在PHP中向数组末尾添加元素的方法,并附带代码示例、输出以及每种方法的时间和空间复杂度分析。 以下是向数组添加元素的不同方法: 使用方括号 [] 在PHP中,向数组末尾添加元素的方法是使用方括号[]。此语法仅适用于我们只想添加单个元素的情况。以下是语法: $array[] = value; 示例
