
phpStudy在windows上配置php运行环境非常方便,使用简单省心。在本地调试wordpress网站,我就是用phpStudy来配置环境的,可是最近遇到一个烦心的事情,就是phpStudy一直运行良好,突然Apache和MySQL服务就启动不了。
故障的情况:点击phpStudy界面的启动或者重启,Apache和MySQL启动几秒后就会停止,无论怎样启动或者重启都是同样的情形。

于是我上网百度了一圈,发现这个问题很多人遇到过,我也尝试了各种解决办法:重启电脑、删掉网站、修改端口、以管理员权限运行、注册Apache和MySQL服务,一轮下来惊奇地发现居然没有一个办法可行!Apache和MySQL还是启动一会儿就停止。
在官网找了一下也没有找到解决办法,最后无奈只能出绝招:重新安装phpStudy2018。
重新安装phpStudy后可以正常使用了,可是用了没几天同样的问题又出现了。调试的网站已经输入很多数据了,如果重新安装phpStudy又要忙一大轮,而且不可能每次出问题就重装。我甚至想放弃phpStudy,回归xampp,可是实在不想再搬一次数据,太麻烦了。于是又百度了一轮,这次我看到一个网友的提示可以查看Apache的错误日志,看看什么地方出错。
我打开Apache的错误日志,位置在:phpStudy\PHPTutorial\Apache\logs\error.log,错误提示:
[Mon May 28 16:37:42.192961 2018] [core:warn] [pid 11664:tid 372] AH00098: pid file H:/phpStudy/PHPTutorial/Apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run? [Mon May 28 16:37:42.194961 2018] [core:error] [pid 11664:tid 372] (OS 5)拒绝访问。 : AH00099: could not create H:/phpStudy/PHPTutorial/Apache/logs/httpd.pid [Mon May 28 16:37:42.194961 2018] [core:error] [pid 11664:tid 372] AH00100: httpd.exe: could not log pid to file H:/phpStudy/PHPTutorial/Apache/logs/httpd.pid
很明显问题出在httpd.pid这个文件上,程序修改不了这个文件,应该是权限的问题。我灵机一动把这个文件改名了,再按启动键,发现Apache可以启动了,程序还自动生成了一个新的httpd.pid文件。

有了启动Apache的经验,我到MySQL的文件夹逐个逐个修改文件名,终于发现只要把phpStudy\PHPTutorial\MySQL\data\PC.pid改名,MySQL也可以启动了。

Apache和MySQL启动后又停止解决办法总结
方法1:把下面两个文件重命名或者删掉:
phpStudy\PHPTutorial\Apache\logs\httpd.pid phpStudy\PHPTutorial\MySQL\data\PC.pid
方法2:文件夹PHPTutorial右键选择管理员取得所有权(相关教程推荐:php视频教程)

提示:我判断Apache和MySQL启动后又停止这个问题是权限引起的问题,程序没有权限写进上面那两个文件才出问题,我猜测把文件夹PHPTutorial获得所有权也能解决问题。当然这只是一种猜测能不能成功我们没有测试过,希望测试过的朋友无论成功不成功都在评论里反馈一下。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
mysql modifier le nom de la table de données
MySQL crée une procédure stockée
La différence entre MongoDB et MySQL
Comment vérifier si le mot de passe MySQL est oublié
mysql créer une base de données
étude php
niveau d'isolement des transactions par défaut de MySQL
La différence entre sqlserver et mysql