apache php cgi mod,apache 配置php mod_php cgi fastcgi访问方式

1 apahe 以动态模块的方法调用php解析脚步

编译php 指定

--with-apxs2=/usr/local/apache/bin/apxs 选项(其中apxs是apache安装后 在bin目录下生成的一个可执行程序)

注意测试不在需要指定--enable-fpm选项

最后会生成一个libphp5.so 这种方式是将php编译成一个 php内置模块

方法1

http.conf配置添加

PHPINIDir=".../php.ini"

LoadModule php5_module modules/libphp5.so 则是编译php生成的动态库

容器中添加以下方法

AddType application/x-httpd-php .php

方法2

SetHandler application/x-httpd-php

方法3:

容器中添加以下方法

AddHandler php5-script .php

方法4

SetHandler php5-script

注意上面的php5-script在很多网上 被说成cgi-script是有问题的 暂时还未研究清楚

最后注意一下 需要配置PHPINIDir 配置成 php.ini 文件全路径目录 例如 /home/work/php.ini

安装Apache2.2.21#tar -zxvf httpd-2.2.21.tar.gz

# cd httpd-2.2.21

# ./configure--prefix=/usr/local/apache

# make

# sudo make install

在httpd.conf文件中添加(或修改): ServerName 127.0.0.1启动Apache服务#/usr/local/apache/bin/apachectl start

关闭Apache服务#/usr/local/apache/bin/apachectl stop

重启Apache服务#/usr/local/apache/bin/apachectl restart

安装libxml2(安装php需要libxml2做支持,所以需要先安装libxml2)#tar -zxvf libxml2-2.6.32.tar.gz

# cd libxml2-2.6.32

#./configure --prefix=/usr/local/libxml2

# make

# sudo makeinstall

3.安装PHP5.2.6#tar -zxvf php-5.2.6.tar.gz

# cd php-5.2.6

# ./configure--prefix=/usr/local/php

--with-libxml-dir=/usr/local/libxml2

--with-apxs2=/usr/local/apache/bin/apxs

#make

# sudo make install

# cp php.ini-dist /usr/local/php/lib/php.ini

4.配置Apache服务的httpd.conf文件*在LoadModule处添加LoadModule php5_module module/libphp5.so

*在AddTypeapplication处添加AddType application/x-httpd-php .php

#/usr/local/apache/bin/apachectl restart

重启apache如果出现httpd:Syntax error on line 53 of /usr/devsoft/apache/conf/httpd.conf:Cannot load /usr/devsoft/apache/modules/libphp5.so into server:/usr/devsoft/apache/modules/libphp5.so: undefined symbol:sqlite3ExprDelete报这种错误一般是编译、链接出错,应该是不需要sqlite的.所以需要重新编译php,./configure时加--without-sqlite--without-pdo-sqlite

2 php-cgi模式

其中php-cgi 直接拷贝php安装生成的php-cgi 无需要编译php 生成libphp5.so

Action application/x-httpd-php /cgi-bin/php-cgi

3 php-fpm方式

ServerAdmin pengzhi@baidu.com

DocumentRoot "/home/users/pengzhi/.jumbo/srv/http/ask18001"

ServerName cq01-rdqa-dev059.cq01.baidu.com

ErrorLog "/home/users/pengzhi/.jumbo/var/log/httpd/ask18001-error-log"

CustomLog "/home/users/pengzhi/.jumbo/var/log/httpd/ask18001-access-log" common

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:8112/home/users/pengzhi/.jumbo/srv/http/ask18001/index.php      注意这里fcgi后面一定要加上 Directory路径哈

#ProxyPassMatch ^/(.*)$ fcgi://127.0.0.1:8112/home/users/pengzhi/.jumbo/srv/http/zxq/wwwroot/index.php/?_url=/$1  注意这里面的 ? 前面一定得有个/ 否则会找不到文件的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值