PHP.study8.1在Windows下无法后台自启Apache的一种处理方式

phpStudy(小皮面板) – 让天下没有难配的服务器环境!  是国内有名的一款服务器环境集成的软件,具有Windows、Linux等平台版本。

为服务器环境提供最优配置的解决方案:

支持CentOS、Ubuntu、Debian、Fedora、deepin,Web端管理,QQ群及论坛技术支持;一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMP与LAMP。

这次使用了Windows平台下的phpstudy环境来运行可道云平台,测试使用都挺好的,可道云也是正常可以访问使用的。

图2.本地使用的可道云

然而,使用中就发现存在问题了,重启Windows后,虽然phpstudyserver这个服务作为自启动项已经启动了,但是对应的Apache并没有随之启动。导致了可道云无法打开,就用不了。需要多一步手动打开集成环境,再启动了Apache后,才进入正常状态。这样的话,无人值守的情况下,是没法实现可道云及其他HTTP服务的。

图3.phpstudy集成环境

检查了phpstudy集成环境的设置,并没有发现问题。开机自启是正常蓝色,WAMP也是正常运行状态。套件中的Apache也是A也是自启动状态。而实际上,并没有自动启动。可见phpstudyserver要么没有去启动Apache,要么启动失败了。上网查了一下,发现相关的解决方案,都是说80或者443端口被占用了,Apache启动不了,或者运行的路径有中文,没有VC15+库等情况。而这些并不存在,因为手动就可以启动,且简单排查就发现不是如上三种情况。

图4.httpd.exe拉到Windows的开始菜单启动文件夹

一时半会也解决不了,那手动把Apache启动吧。把Apache服务的主程序httpd.exe拉到Windows的开始菜单启动文件夹,让Windows启动的时候加载。重启系统后,发现Apache确实开机启动,但是留下了一个CMD的窗口,且关闭了窗口,Apache随之而去了。

图5.Apache的CMD窗口

这样子也是不行,碍眼碍事。所以还是要把Apache注册到系统服务,作为系统服务的方式来运行。之前在Windows服务器设定自动重启Apache服务的操作记录 有将Apache服务操作的记录,但那是已经安装服务后的,这里需要增加一个命令来使得Apache注册成系统服务。

图6.在powershell中注册apache的服务

在Windows PowerShell中,使用.\httpd.exe -k install 命令来完成该操作。如此则系统服务中新增了,可以随着系统启动而静默启动,提供HTTP服务了。