当前位置: 首页 > 工具软件 > Raxan for PHP > 使用案例 >

Apache+PHP for Windows

法弘壮
2023-12-01

Apache官方地址:http://www.apache.org,下载apache_*.*.**-win32-x86-no_ssl.msi
PHP官方地址:http://www.php.net,下载php-*.*.*-win32.zip

httpd.conf
DocumentRoot "e:/www"
<Directory "e:/www">
DirectoryIndex index.html index.htm index.php
LoadModule php5_module "e:/php/php5apache2_2.dll"
PHPIniDir "e:/php"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm

php.ini(如果安装了MySql)
extension_dir = "e:/php/ext/"
extension=php_mysql.dll

如果extension_dir = "./",在系统变量PATH中添加"e:\php"。如果PATH中同时包含e:\MySql\bin,一定要将e:\php放在MySql之前,或将e:\php目录下的libmysql.dll复制到Windows目录中,以保证加载的php_mysql.dll与libmysql.dll版本一致。因为php在调用相关MySql函数时,会使用libmysql.dll,如果PATH中MySql的路径在前,系统会加载不同版本的libmysql.dll,这将导致Apache服务进程的彻底崩溃。

test.php
<?php phpinfo(); ?>

如果用Apache架设,选择使用Visual Studio 6编译器编译的VC6版本。如果用IIS架设,选择使用Visual Studio 2008编译器编译VC9版本。

None-Thread Safe(非线程安全),在执行时不进行线程(thread)安全检查。
Thread Safe(线程安全),执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的CGI执行方式耗尽系统资源。
PHP有两种执行方式,ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护可以提高执行效率,所以,如果是以FastCGI(无论搭配IIS6或IIS7)执行PHP,都建议下载、执行non-thread safe的PHP(PHP的二进位档有两种包装方式:msi、zip ,请下载zip套件)。而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
FastCGI模式下,如果客户机请求一个php文件,Web服务器就调用php.exe去解释这个文件,然后再把解释的结果以网页的形式返回给客户机;而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。

CGI方式
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
# 对PHP4
Action application/x-httpd-php "/php/php.exe"
# 对PHP5
Action application/x-httpd-php "/php/php-cgi.exe"

模块化方式
# 对PHP4
LoadModule php4_module "c:/php/php4apache2.dll"
# 别忘了从sapi目录中把php4apache2.dll拷贝出来!
AddType application/x-httpd-php .php
# 对PHP5
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置php.ini的路径
PHPIniDir "C:/php"

php4搜索php.ini是在%SystemRoot%下,PHP5按照以下顺序依次查找PHP.ini:
* PHPIniDir (Apache 2 module only)
* 注册表键值:HKEY_LOCAL_MACHINE—SOFTWARE—PHPIniFilePath
* 环境变量:%PHPRC%
* PHP5的目录 (for CLI),或者web服务器目录(for SAPI modules)
* Windows目录 (C:\windows or C:\winnt) 
所以如果是Apache + PHP5的话可以使用PHPIniDir指定php5的配置文件php.ini的路径。

 类似资料: