• 欢迎访问水熊虫网站,这里是我个人的工作博客,内容大多是遇到问题完善后,会在这里进行总结归纳内容! QQ群
  • 网站导航中的友情链接专栏上线,更新的都是自己这三年整理的一些东西,感兴趣可以看看!
  • 你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经!

♡winodws+apache+mod_php环境搭建

整理归纳 WaterBear 7年前 (2017-08-14) 859次浏览 已收录 扫描二维码

winodws+apache+mod_php环境搭建:(mod_php指apache使用php5_module加载php目录dll文件方式支持php

请注意环境搭建要求与版本环境支持:

apache官方站点:https://httpd.apache.org/

php官方下载站点:http://windows.php.net/download/

VC6  需要预先安装Visual C++  2005 SP1 x86 or x64

VC9  需要预先安装Visual C++  2008 SP1 x86 or x64

VC11 需要预先安装Visual C++  2012 SP1 x86 or x64

VC14 需要预先安装Visual C++  2015 SP1 x86 or x64

PHP在Apache2.2作为模块加载,需要使用PHP的TS版本,且只支持PHP5.2~PHP5.4,支持XP和Server2003系统及以上版本

PHP作为Apache2.4作为模块加载,需要使用PHP的TS版本,且只支持PHP5.3~PHP7,支持win7和2008Server系统及以上版本(不在支持XP和Server2003系统

经测试:Apache加载PHP扩展后有且仅支持一种PHP版本,不支持不同站点使用不同PHP版本。

一、Apache安装:(此处使用apache2.2作为演示)

apache2.2有安装包和压缩包,可直接安装使用或手动配置。Apache2.4是压缩包,需要注册服务。

1.解压后找到conf/http.ini文件中的Define SRVROOT修改路径如:(安装包跳过此步骤)
ServerRoot "D:/Program Files (x86)/Apache2.2"
2.可以在Apache安装目录的bin子目录下,使用如下命令将Apache安装为Windows NT服务::(安装包跳过此步骤)
httpd -k install  #安装
httpd -k install -n "服务名"   #指定服务名称的安装
httpd -k install -n "服务名" -f "c:\files\my.conf"    #指定服务名称和配置文件的安装

Apache服务常用命令

httpd -n "服务名" -t   #检查指定服务名称的配置文件的正确性
httpd -k stop     #停止
httpd -k start     #启动
httpd -k restart   #重启
httpd -k uninstall  #卸载

也可使用控制台命令:(不限定文件路径,但需要服务已注册)

net start apache2.2      #启动服务
net stop apache2.2      #停止服务
net restart apache2.2      #重启服务

3.测试apache是否正常运行

cmd命令:service.msc    查看Apache服务是否正常启用
cmd命令:netstat -an | find “80”    查看80端口是否监听
添加Apache程序 防火墙例外
打开浏览器访问http://localhost  是否显示:It's Work。

二、Apache下PHP模块配置
步骤一:修改http.conf文件
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
<Directory "D:/server/Apache24/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
         DirectoryIndex index.php index.html index.htm
</IfModule>
第二步:增加配置文件。

引入PHP配置文件,这里单独建立PHP配置文件为httpd-php_mod.conf(文件名可自定义)

#php_mod的加载文件
Include conf/extra/httpd-php_mod.conf

httpd-php_mod.conf文件内容如下:(经测试:有且仅支持一种PHP版本,不支持不同站点使用不同版本)

#apache2.2版本加载php5.2版本内容
#loadmodule php5_module "D:/Program Files (x86)/PHP_TS/php-5.2.17/php5apache2_2.dll"    
#PhpIniDir "D:/Program Files (x86)/PHP_TS/php-5.2.17"
#AddType application/x-httpd-php .php

 #apache2.2版本加载php5.3版本内容
#loadmodule php5_module "D:/Program Files (x86)/PHP_TS/php-5.3.29/php5apache2_2.dll"    
#PhpIniDir "D:/Program Files (x86)/PHP_TS/php-5.3.29"
#AddType application/x-httpd-php .php

 #apache2.2版本加载php5.4版本内容
loadmodule php5_module "D:/Program Files (x86)/PHP_TS/php-5.4.45/php5apache2_2.dll"    
PhpIniDir "D:/Program Files (x86)/PHP_TS/php-5.4.45"
AddType application/x-httpd-php .php
第三步:修改php.ini文件设置:

[v_organge]1、时区设置:[/v_organge]

date.timezone = Asia/Shanghai

[v_organge]2、禁用函数:[/v_organge]

disable_functions =exec,system,passthru,popen,pclose,shell_exec,proc_open,dl,chmod

[v_organge]3、常用扩展开启:[/v_organge]

;以下常用组件取消分号注释(开始)
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_zip.dll

[v_organge]4、其他设置:[/v_organge]

short_open_tag = On ;短标签开启
extension_dir = "c:\php\ext" ;组件存放路径更改
post_max_size = 20M  ;POST发送最大数据包限制更改,且必须post_max_size ≥ upload_max_filesize
upload_max_filesize = 20M  ;上传文件大小限制更改
三、Apache下建立虚拟主机配置

引入apache虚拟主机配置文件,这里单独建立vhost文件夹为每个站点独立创建一个配置文件(便于后期维护)。

#虚拟主机站点配置文件加载
Include conf/vhost/*.conf

其中windows下虚拟主机配置模板如下:

NameVirtualHost *:80
<VirtualHost *:80>
    <Directory "D:\wwwroot\longtao1">
    Options -Indexes FollowSymLinks
    DirectoryIndex index.php index.html index.htm
    </Directory>
    ServerAdmin [email protected]
    DocumentRoot "D:\wwwroot\longtao1"
    ServerName host1.longtao.pro
    ServerAlias www.host1.longtao.pro
    ErrorLog "logs/host1.longtao.pro-error.log"
    CustomLog "logs/host1.longtao.pro-access.log" common
    php_admin_value open_basedir "D:\wwwroot\longtao1;C:\Windows\Temp"
</VirtualHost>
四、Apache服务降权(权限设置仅供参考)
步骤一、使用cmd创建apache用户名:
net user apache apache_password /add
net localgroup users apache /del

设置添加的用户属性为密码永不过期。

♡winodws+apache+mod_php环境搭建

步骤二、更改服务启动用户名为apache用户。

♡winodws+apache+mod_php环境搭建

步骤三、添加apache程序对应的启动用户apache及权限设置。

安装apache的D盘,apache用户仅仅需要读取权限

D:/Program Files (x86)/Apache2.2作为apache的安装根目录需要“列出文件夹内容、读取”的权限

bin、cgi-bin、modules目录为:“列出文件夹内容、读取和执行、读取”的权限

conf、error、htdocs、icons、manual目录为:“列出文件夹内容、读取”的权限

logs目录为:“列出文件夹内容、读取、写入”的权限

D:\wwwroot为网站存放目录,apache用户需要“读取、写入”的权限。(如果需要不定时上传文件就需要写入权限,如果长期不上传可删除写入权限)

目录结构如图:

♡winodws+apache+mod_php环境搭建

步骤四、重启apache服务,测试服务是否正常启动。

修改apache程序启动用户为apache后,如启动失败需要重新检测apache程序目录配置权限是否不够或遗漏配置的的情况。

具体无法正常启动可通过计算机管理的日志查看器进行检查。(如下图)

♡winodws+apache+mod_php环境搭建


WaterBear , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:♡winodws+apache+mod_php环境搭建
喜欢 (0)
[[email protected]]
分享 (0)