HonestQiao 回复于:2004-05-29 16:54:19 |
[code:1:72b49e9f07]##################################################################
# 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 <IfDefine Apache=Apache> SetEnv php_control_status Apache <IfDefine php=php4> SetEnv php_control_status Apache_php4 <IfDefine type=mod> 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/" #请修改为实际的路径 </IfDefine> <IfDefine !type=mod> SetEnv php_control_status Apache_php4_not_mod <IfDefine type=cgi> 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/" #请修改为实际的路径 </IfDefine> </IfDefine> </IfDefine> <IfDefine !php=php4> SetEnv php_control_status Apache_not_php4 <IfDefine php=php5> SetEnv php_control_status Apache_php5 <IfDefine type=mod> 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/" #请修改为实际的路径 </IfDefine> <IfDefine !type=mod> SetEnv php_control_status Apache_php5_not_mod <IfDefine type=cgi> 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/" #请修改为实际的路径 </IfDefine> </IfDefine> </IfDefine> </IfDefine> </IfDefine> <IfDefine !Apache=Apache> SetEnv php_control_status not_Apache <IfDefine Apache=Apache2> SetEnv php_control_status Apache2 <IfDefine php=php4> SetEnv php_control_status Apache2_php4 <IfDefine type=mod> 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/" #请修改为实际的路径 </IfDefine> <IfDefine !type=mod> SetEnv php_control_status Apache2_php4_not_mod <IfDefine type=cgi> 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/" #请修改为实际的路径 </IfDefine> </IfDefine> </IfDefine> <IfDefine !php=php4> SetEnv php_control_status Apache2_not_php4 <IfDefine php=php5> SetEnv php_control_status Apache2_php5 <IfDefine type=mod> 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/" #请修改为实际的路径 </IfDefine> <IfDefine !type=mod> SetEnv php_control_status Apache2_php5_not_mod <IfDefine type=cgi> 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/" #请修改为实际的路径 </IfDefine> </IfDefine> </IfDefine> </IfDefine> </IfDefine> </IfDefine>[/code:1:72b49e9f07] |
HonestQiao 回复于:2004-05-29 16:55:43 |
[code:1:33da9eb370]#使用方法:
# 设备命令: # 连接配置: # 将以上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方式配置区域 #[/code:1:33da9eb370] |
HonestQiao 回复于:2004-05-29 17:17:42 |
[code:1:284d7d5052]#测试工程:
# 例如在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超级配置模块的定制版本. #[/code:1:284d7d5052] |
深空 回复于:2004-05-29 18:42:22 |
除了支持,我不知道说什么了-________-!! |
haohaoo 回复于:2004-05-29 19:21:07 |
看了有点了解,不过里面都是windows的啊,linux下面没有那些文件啊 |
HonestQiao 回复于:2004-05-29 19:42:40 |
不是提示了,你把那些地方修改成为你实际的么 |
网络混混 回复于:2004-05-29 20:37:31 |
除了说支持和阅
我没有话说了。 |
cceon 回复于:2004-05-29 20:42:43 |
PHP4在Apache1的module模式下运行的好?
还是在CGI模式下运行的好? |
khj99 回复于:2004-05-30 09:10:01 |
根本就不止8种。
还存在php以静态模式编译进apache中. |
xiaohua 回复于:2004-05-30 09:13:02 |
好长的代码 :em06: |
HonestQiao 回复于:2004-05-30 14:02:29 |
[quote:7adc6b0a08="khj99"]根本就不止8种。
还存在php以静态模式编译进apache中.[/quote:7adc6b0a08] [code:1:7adc6b0a08]Apache有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf所检测,则模块还可以被动态编译。[/code:1:7adc6b0a08] 我这里说的是module模式,没有说是动态还是静态的,动态静态变异方式不同,使用起来基本上相同 |
HonestQiao 回复于:2004-06-01 18:53:23 |
http://bbs.chinaunix.net/forum/3/20040601/337646.html
嘿嘿,打算把这个做一课件,希望大家先提提意见哦,多多益善 |
sports98 回复于:2004-06-11 14:05:21 |
:shock: 在中国可能只有在中国才会这样?
敢问楼上了此举在国内服务器上能有几台服务器这样配置? :em06: :em06: :em06: :em06: :em06: |
sports98 回复于:2004-06-11 14:07:11 |
另外我觉得你这个文章其实最主要的仅仅是介绍了apache里配置文件中的
<IfDefine>功能啊 |
Ecore 回复于:2004-12-19 18:29:10 |
人家是技术挑战!
不是和你论国情! 谈个技术问题,动不动搬国情搬出来干嘛?? |
bqsc 回复于:2005-03-16 10:33:48 |
真是技术无极限啊。 |
ttianxhtu 回复于:2005-03-16 13:15:02 |
学习一下
不过还是不怎么懂 |
yxg0512 回复于:2005-04-19 13:06:19 |
除了佩服 只剩敬仰了! |