今天在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解释器找不到,所以就产生了这个错误。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.