搜尋
首頁後端開發php教程 PHP超级配备模块
PHP超级配备模块 Jun 13, 2016 pm 01:08 PM
apacheapplicationhttpdphp

PHP超级配置模块

在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.

?

--------------------------------------------


在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.
哪一条指令?原来就是:
在http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/core.html#ifdefine有对这条指令的完整介绍.
指令
代码:

说明: 只有在启动时进行了一个成功的测试后才进行的一个封装指令
语法: ...
上下文: 服务器配置, 虚拟主机, 目录, .htaccess
覆盖项: All
状态: 核心
模块: core

...配置段用于标识附加施用条件的指令。配置段中的指令仅当测试结果为真时才进行处理。如果测试失败。此配置段中的指令将会被忽略。

配置段中的测试可以为以下两种形式之一:

参数名
!参数名
在第一种情况下,仅当符合参数名的参数已经定义的情况下才对开始和结束标记之间的指令进行处理。第二种情况则截然相反。仅当参数名没有定义的情况下才进行指令的处理。

参数名变量是在服务启动时,通过httpd命令行的-D参数-这样的形式指定的。

配置段是可以嵌套的,从而可以实现简单的多参数测试。比如说:

$ httpd -DReverseProxy ...

# httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/libproxy.so

?

?

?

##################################################################
# PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache #
##################################################################
# 配置版本 通用版v1.01 #
# 配置编写 乔楚/HonestQiao #
# 编写日期 2004年5月29日 #
# 联系方式 QQ:5601680 MSN:honestqiao@hotmail.com #
##################################################################
# 主页地址: http://w.yi.org/ #
# 论坛地址: http://bbs.chinaunix.net/forum/viewforum.php?f=13 #
##################################################################
##################################################################
# 版权声明 #
# 本PHP超级配置模块系乔楚(HonestQiao)所写,你可以任意使用和传播#
#本PHP超级配置模块,但是请保留配置内容以上的声明部分(因为本声明不 #
#会对你的实际配置造成任何影响),并且不得以任何方式表明是你写了本 #
#PHP超级配置模块. #
# 谢谢你的使用,欢迎批评建议和报告错误. #
##################################################################
SetEnv php_control_status not_php_control_status

SetEnv php_control_status Apache

SetEnv php_control_status Apache_php4

SetEnv php_control_status Apache_php4_mod
LoadModule php4_module /usr/local/php-4.3.6/sapi/php4apache.dll #请修改为实际的路径
#AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
#PHPINIDir /usr/local/etc/php/php4.ini
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径


SetEnv php_control_status Apache_php4_not_mod

SetEnv php_control_status Apache_php4_cgi
ScriptAlias /php/ "/usr/local/php-4.3.6/" #请修改为实际的路径
Action application/x-httpd-php "/php/php.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache_not_php4

SetEnv php_control_status Apache_php5

SetEnv php_control_status Apache_php5_mod
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache.dll #请修改为实际的路径
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
#PHPINIDir /usr/local/etc/php/php5.ini
#请将php.ini放置到Apache的安装目录
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径


SetEnv php_control_status Apache_php5_not_mod

SetEnv php_control_status Apache_php5_cgi
ScriptAlias /php/ "/usr/local/php-5.0.0RC2/" #请修改为实际的路径
Action application/x-httpd-php "/php/php-cgi.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径





SetEnv php_control_status not_Apache

SetEnv php_control_status Apache2

SetEnv php_control_status Apache2_php4

SetEnv php_control_status Apache2_php4_mod
LoadModule php4_module /usr/local/php-4.3.6/sapi/php4apache2.dll #请修改为实际的路径
#AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
PHPINIDir /usr/local/etc/php/php4.ini #请修改为实际的路径
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径


SetEnv php_control_status Apache2_php4_not_mod

SetEnv php_control_status Apache2_php4_cgi
ScriptAlias /php/ "/usr/local/php-4.3.6/" #请修改为实际的路径
Action application/x-httpd-php "/php/php.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径



SetEnv php_control_status Apache2_not_php4

SetEnv php_control_status Apache2_php5

SetEnv php_control_status Apache2_php5_mod
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache2.dll #请修改为实际的路径
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
PHPINIDir /usr/local/etc/php/php5.ini #请修改为实际的路径
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径


SetEnv php_control_status Apache2_php5_not_mod

SetEnv php_control_status Apache2_php5_cgi
ScriptAlias /php/ "/usr/local/php-5.0.0RC2/" #请修改为实际的路径
Action application/x-httpd-php "/php/php-cgi.exe"
#请将php.ini放置到Apache的安装目录
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #请修改为实际的路径
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #请修改为实际的路径





?

?

?

?

?

#使用方法:
# 设备命令:
# 连接配置:
# 将以上PHP超级配置模块保存为一个文件,名称为php.conf,然后在Apache的配置文件之中,使用Include "/path/to/php.conf"来引用PHP超级配置模块;
# 修改PHP超级配置模块之中提示需要修改的部分,一般是修改为你的文件所在的实际路径.
#
# 启动命令:
# ApacheControl -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# 假设启动apache的文件名为httpd,执行指令如下:
# httpd -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# ApacheVersion:表示Apache的版本Apache,Apache--表示Apache1;Apache2--表示Apache2;
# phpVersion:表示PHP的版本,php4--表示PHP4;php5--表示PHP5;
# RunType:表示运行模式,mod--表示以module(模块)方式运行;cgi--表示以CGI方式运行
#
# 通道信息:
# PHP超级配置模块状态:表示环境变量之中PHP超级配置的状态,可以通过CGI探针或者phpinfo()来查看.
# 说明:状态名称:php_control_status
# 状态值: not_php_control_status: 表示没有处于PHP超级配置模块
# Apache : 表示进入Apache1配置区域
# Apache_php4 : 表示进入Apache1的PHP4配置区域
# Apache_php4_mod : 表示进入Apache1的PHP4的module(模块)方式配置区域
# Apache_php4_not_mod : 表示进入Apache1的PHP4的非module(模块)方式配置区域
# Apache_php4_cgi : 表示进入Apache1的PHP4的CGI方式配置区域
# Apache_not_php4 : 表示进入Apache1的非PHP4配置区域
# Apache_php5 : 表示进入Apache1的PHP5配置区域
# Apache_php5_mod : 表示进入Apache1的PHP5的module(模块)方式配置区域
# Apache_php5_not_mod : 表示进入Apache1的PHP5的非module(模块)方式配置区域
# Apache_php5_cgi : 表示进入Apache1的PHP5的CGI方式配置区域
#
# not_Apache : 表示进入非Apache1配置区域
# Apache2_php4 : 表示进入Apache2的PHP4配置区域
# Apache2_php4_mod : 表示进入Apache2的PHP4的module(模块)方式配置区域
# Apache2_php4_not_mod : 表示进入Apache2的PHP4的非module(模块)方式配置区域
# Apache2_php4_cgi : 表示进入Apache2的PHP4的CGI方式配置区域
# Apache2_not_php4 : 表示进入Apache2的非PHP4配置区域
# Apache2_php5 : 表示进入Apache2的PHP5配置区域
# Apache2_php5_mod : 表示进入Apache2的PHP5的module(模块)方式配置区域
# Apache2_php5_not_mod : 表示进入Apache2的PHP5的非module(模块)方式配置区域
# Apache2_php5_cgi : 表示进入Apache2的PHP5的CGI方式配置区域
#

?

?


#测试工程:
# 例如在Window2000环境下,执行以下设备命令:
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php4 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache_php4_mod,表示处于Apache1的PHP4的Module模式之下;
#
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php5 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache_php5_cgi,表示处于Apache1的PHP5的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php4 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache2_php4_cgi,表示处于Apache2的PHP4的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php5 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache2_php5_mod,表示处于Apache2的PHP5的Module模式之下;
#
#
#常见问题:
# 1.启动时提示错误,且错误出在PHP超级配置模块的相关行,一般表示相关的设置路径不正确
# 2.启动成功但是没有调用PHP,你可以查看php_control_status的状态值,以确定问题所在,可能执行设备明令时所给的参数不正确
# 3.启动正确,也可以调用PHP了,那你还说什么问题啊,要恭喜你可以正常使用了啊.
# 4.如果问题还不能解决,请和本PHP超级配置模块的开发者取得联系.
#
#
#附加说明:
# 本PHP超级配置模块,只是给出了一个通用的PHP在Apache之下调用的控制方式,使用本PHP超级配置模块的相关行,需要你对Apache和PHP有一定了解.
# 如果你需要更为具体的配置,请和我联系,我将根据您的实际运行环境,作出适合您的实际运行环境的PHP超级配置模块的定制版本.
#

?

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

See all articles

熱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.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具