一.下载apache
1.登录官网:http://www.apache.org/,Downloads->mirrors
进入网址选择httpd
进去之后可以直接下载,但是下载来的东西还不能用,因为目录结构不太一样。
于是可以进入这个网页查看细节
下载压缩包,结果还是一样,不能用
windows配置apache点击这个进入网址(http://httpd.apache.org/docs/current/platform/windows.html#down)
进入如下界面后,选择第一项ApacheHaus,这是个第三方下载平台,在它的网站下载独立的Apache会是一个压缩包。另外四个中,第二个也是独立的Apache下载地址,另外三个是集成开发环境。本人选的第一个。 PHP官网里说明了,apache.org只提供旧的VC6版本,且不能使用 VC9+版本。apache.org已经不提供适合php的版本了。apache windows版本下载地址也给了下载建议:
本人下载的是
解压到指定目录
二.下载php
1.进入官网:https://www.php.net/downloads.php 下载安装包
同样的,下载的安装包没有经过编译,不能用。
进入这个网站https://windows.php.net/download/#php-7.4-nts-vc15-x64 下载
解压后是此目录就是正确的
三.Apache服务器的配置
打开httpd.conf文件(在C:\web\Apache24\conf下,这是我的,放置的位置不同,则文件位置不同)
①修改目录位置,如下图所示:
设置服务器的端口号,web服务默认80端口,若你的80端口被占用(可在cmd下用命令netstat -a查看),则将80端口改为别的保存。
②配置安装Apache的主服务,有了它,Apache才可启动。打开cmd窗口,进入bin目录,输入:httpd.exe -k install -n apache24。该命令的意思是,安装apache服务,并将该服务名称命名为apache24(你也可以改成别的),回车。
原因是缺少vc++2015,去官网下载安装
服务安装完毕,完毕后,会自动测试,若有问题,窗口会提示错误,此时请根据错误自行排查。
正常安装完毕如下图所示:
其中,Errors reported here must be corrected before the service can be started.意思是,此处报告的错误必须在服务开始前进行纠正。若没有,则成功。
原来是斜杠方向错误:
输入本地回环地址,若出现如下图所示界面,则Apache服务器的基本配置完毕,此时apache服务器已经可以运行
四.Apache服务器的启动
1.利用Windows启动
2.利用命令行启动
但是我的启动不了,不知道怎么回事
于是我把服务命名为apache2.4,删除原来的命名
3.利用Apache服务器自身的视窗打开
五.apache中加载php模块
1.因为php做为apache的一个模块而调用的,在apache httpd.conf文件最后添加php信息,php安装目录下要有php7apache2_4.dll,这是要求的apache版本。
LoadModule php7_module "C:/web/php-7.4.1-Win32-vc15-x64/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
PHPIniDir "C:/web/php-7.4.1-Win32-vc15-x64"
至此,httpd.conf 配置完成,保存httpd.conf
2.将php.ini-development 复制一份,原来的作为php.ini配置文件,因为这个在开发环境下的文件比较轻量,另一个比较耗机器的性能。
php打开mysql和mysqli扩展
如果需要用到php扩展,用记事本打开php.ini
将; extension_dir = "ext"修改为 extension_dir = "ext" (去掉extension前面的分号)
将;extension=php_mbstring.dll 修改为 extension=php_mbstring.dll(去掉extension前面的分号,这是php多字节字符串扩展)
将;extension=php_mysql.dll修改为 extension=php_mysql.dll(去掉extension前面的分号)
将;extension=php_mysqli.dll 修改为 extension=php_mysqli.dll(去掉extension前面的分号)
六.测试
1.重启apache,发现启动失败
1.1 找到apache安装目录下的logs/error.log,查看错误来源
可以看到有三个错误
解决1
由于ssl导致的问题,需要禁用SSL 找到httpd.conf文件(/Applications/XAMPP/xamppfiles/etc) 搜索这句LoadModule ssl_module modules/mod_ssl.so 注释掉这句,重启服务,问题解决
解决2
可是上面我已经安装了vc++15(x64)运行库,这个实在是不知道该怎么办?
解决3
注掉php.ini中的所有的扩展动态库(extension modules)
于是我换了一种思路,直接换掉php的版本,原来是php-7.4.1,换成7.2.26
重启apache成功。
2.在apache安装目录下htdocs文件夹下新建一个php文件
浏览器输入127.0.0.1/index.php
七.模拟服务器
虚拟机ip为192.168.1.10
真实机ip192.168.1.3
处于同一局域网中,可以在真实机里访问服务器(虚拟机配置的web环境)
1.简单操作,关掉防火墙,当然这并不可取