Windows下使用Apache2.4架设PHP服务器
文章目录
项目最近需要写几个PHP的Web页面,为了方便测试,需要在Windows本机架设一个PHP的环境。项目中原来使用的Apache来架的PHP,由于只是用于开发时的简单测试,没必要使用WAMP套装,直接下载一个Apache和PHP来进行配置。
一、下载Apache的httpd
打开 https://httpd.apache.org/ 也可以直接打开Windows版本的下载页面: https://www.apachehaus.com/cgi-bin/download.plx
从上面两个Download中任选一个进入下载页面。
由于是Windows版本的,选择Files for Microsoft Windows
再选择ApacheHaus,进入 https://www.apachehaus.com/cgi-bin/download.plx,在前面也可以直接输入此网址进行下载。
再根据自己的系统情况选择相应的编译版本, VC14是VS2015编译的、VC15是VS2017编译的、VS16是VS2019编译的,目前VC14版本已经没有相应的包了。笔者的是Windows 7 X64系统,由于最新版本的PHP也是VS16编译的,所以这里也选择VS16版本的。
下载之后,根据需要安装Visual Studio Redistributable Packages,之前系统安装过就不需要安装了。
二、下载 PHP
打开 https://windows.php.net/download/
下载最新的PHP 8.0.6的VS16 x64线程安全版本。
三、解压、配置
1.解压
将下载的httpd压缩包解压出来,比如笔者解压到:D:\httpd-2.4.48-Win64\Apache24。 再将PHP压缩包解压出来,放到Apache24目录同级的目录,笔者的为D:\httpd-2.4.48-Win64\php
2.配置httpd
httpd的配置在Apache24\conf\httpd.conf中。
SRVROOT“D:/httpd-2.4.48-Win64/Apache24”配置服务的根目录Listen81根据自己系统情况配置监听端口,笔者的80端口已经被使用,所以配置为81ServerNamelocalhost:81这里的端口同上DocumentRoot“c:\test”默认配置为“\({SRVROOT}/htdocs”,如果想改为其它地方,比如“c:\test”则直接填写路径。如果修改了DocumentRoot,则需要把下面一行
然后在最后添加上对PHP的支持:
1#php8 support
2LoadModule php_module "D:/httpd-2.4.48-Win64/php/php8apache2_4.dll"
3AddType application/x-httpd-php .php .html .htm
4PHPIniDir "D:/httpd-2.4.48-Win64/php"
3.配置PHP
在php目录中把php.ini-development复制一份为php.ini,然后修改其中的配置,由于需要使用到curl以及openssl扩展,所以需要打开相应的扩展: extension_dir“…/php/ext”指定扩展所在目录,网上资料多为绝对路径,这里也可以使用相对路径,但是Windows下不能直接使用"ext"或者"./ext",否则会找不到扩展,这里很坑extension=curl把前面的分号去掉extension=openssl同样把前面的分号去掉,需要加载哪些扩展,就把相应的扩展前面的分号去掉
四、注册并启动httpd
在D:\httpd-2.4.48-Win64\Apache24\bin中使用:
1httpd -k install
进行Windows的服务注册。 使用ApacheMonitor.exe启动服务。但是查看httpd日志(Apache24\logs\error.log)会发现有错误:
1PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: ../php/ext\\curl (\xe6\x89\xbe\xe4\xb8\x8d\xe5\x88\xb0\xe6\x8c\x87\xe5\xae\x9a\xe7\x9a\x84\xe6\xa8\xa1\xe5\x9d\x97\xe3\x80\x82), ../php/ext\\php_curl.dll (\xe6\x89\xbe\xe4\xb8\x8d\xe5\x88\xb0\xe6\x8c\x87\xe5\xae\x9a\xe7\x9a\x84\xe6\xa8\xa1\xe5\x9d\x97\xe3\x80\x82)) in Unknown on line 0
在网上查了很久的资料,原来是需要把php中的libssh2.dll复制到Apache24\bin中即可。
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2021/2021-05-28-Windows下使用Apache2.4架设PHP服务器/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。