apache出现couldn’t spawn child process错误的解决方法

今天在windows下面配置apache+wsgi+python花了不少时间,其中一个很大的问题,总是出现 500错误,就是服务器内部错误。查看apache的错误日志,发现下面一段话: 

(OS 3)The system cannot find the path specified.  : couldn’t spawn child process:

 

但是改来改去还一样的错误。

 

google一堆,有人说可能是系统找不到python解释器,然后找到我的脚本文件,查看果然是这个错误。在脚本的文件的最开始一般都是注明python解释器的位置。之前安装cygwin的时候自动安装一个python版本是2.6.5的,但是因为这个版本总是导致apache加载mod_wsgi.so失败从而apache启动不了(这个花的时间更长,我晕死了),最后没有办法重新安装2.7的版本,并且之前卸载掉,但是脚本中还是用以前的所以导致这个错误。

 

解决办法就是把解释器的位置设置为正确的路径即可。

 

解释一下,因为apache接受到客户端的request的时候查看请求类型,最后决定交给mod_wsgi.so这个动态库去执行,而这里面是创建脚本对应python解释器的进程去解释执行,而后得到脚本执行的结果返回个apache server,最后apache把结果发送到客户端,因为找对应的脚本中指定的python解释器找不到,所以就产生了这个错误。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示