解决apache服务器无法启动,发生服务特定错误:1的问题,以及php、apache全套配置流程

很多新手在配置php与apache时会发生各种问题,比如我,但是在历经折磨后也是搞好了,在此将一些经验分享给大家。

下载php和apache

apache在http://www.apachelounge.com/download/下载

php在https://windows.php.net/download/下载windows最新版本,或者在windows.php.net - /downloads/releases/archives/下载自己需要的版本

下载后将两个文件解压到没有中文路径的地方,可以将apache24从httpd-2.4.58-win64-VS17文件夹中移出来,我就是这样做的,更简单明了。

配置

配置php

将php.ini-development复制一份,并将其名字改为php.ini,用记事本或vscode等打开。

将;extension_dir="ext"修改为你自己放的路径

然后再配置文件中把你要使用的模块的注释去掉即可,如
我将mysqli前面的分号去掉了。
最后再为php配置环境变量即可,在系统变量的path里面配置,配置好后如图
这里不再赘述。

配置apache

打开apache24/conf目录下的httpd.conf文件
修改Define SRVROOT后面的路径,为你的apache24文件夹所在路径,如
在所有的LoadModule(模块)前面添加php模块

即在#LoadModule access_compat...这句话前面加上

#php support
LoadModule php7_module "D:\Program File\php\php-7.2.24\php7apache2_4.dll"
PHPIniDir "D:\Program File\php\php-7.2.24"

其中的路径改为你自己的php的路径

在#AddType后添加一行

AddType application/x-httpd-php .php .html .htm,如图所示

由于apache默认使用的端口为80端口,容易与主机的其他使用80端口的服务发生冲突,故可以修改apache的端口,修改Listen后面的端口号即可,我使用的是8000,如图

同时注意添加servername,在#ServerName www.example.com:80后添加一行,如图

然后如果没有服务,要添加服务,在httpd.exe所在目录以管理员身份打开cmd,在命令行中输入httpd.exe -k install -n "Apache24",即可添加服务。

这样就大功告成了。

启动服务,在命令行中输入net start Apache24即可启动服务。

常见报错处理

错误原因一:端口冲突

在cmd中输入netstat -ano|findstr 80(或8000,即你配置的apache监听的端口)

如果发现[::]:80或0.0.0.0:80等,即代表80端口被占用,可以修改apache所用端口即可

错误原因二:配置有误

在添加php模块时要注意后面的路径要为你电脑上的真实路径,同时注意一定要有引号,否则会报缺少参数的错误,当然这个报错详细信息要在日志或命令行里才能看到,直接启动服务会报“发生服务特定错误:1”等无从下手的错误。如图

#php support
LoadModule php7_module "D:\Program File\php\php-7.2.24\php7apache2_4.dll"
PHPIniDir "D:\Program File\php\php-7.2.24"

错误原因三:没有设置servrename

如果你是在命令行中运行httpd,并且遇到了如:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::acb3:d8de:8a5e:10e7. Set the 'ServerName' directive globally to suppress this message这样的错误,那么就是你没有在apache的httpd.conf中设置servername。

在#ServerName www.example.com:80这条语句下面添加ServerName localhost:8000,后面的为你自己设置的端口号,如图

这样就不会有问题了

小问题:设置默认页面为index.php

通常apache会将index.html设置为一个网站的默认打开页面,如果我们想要将index.php也设置为默认打开的页面,可以在apache的httpd.conf中找到DirectoryIndex,在后面添加index.php即可,如图

这样就可以将index.php作为默认页面了。

希望我的文章能够对你有所帮助。

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值