搜尋
首頁php教程php手册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

 

再测试下访问没问题,大功搞成咯。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),