eaccelerator为啥不起使用?

这几天为了追一个php的bug需要使用debug版本的eaccelerator,但是编译了之后发现怎么都不起使用,看ea的源代码看到如下一句:

if (type == MODULE_PERSISTENT && strcmp(sapi_module.name, "cgi") != 0 && strcmp(sapi_module.name, "cli") != 0) { ....//省略无关代码 ea_saved_zend_compile_file = zend_compile_file; #ifdef DEBUG zend_compile_file = profile_compile_file; ea_saved_zend_execute = zend_execute; zend_execute = profile_execute; #else zend_compile_file = eaccelerator_compile_file; #endif

这说明,cgi方式ea是不工作的,这是怎么回事呢?想了半天没明白,没办法只能从头看php-cgi的代码,突然看到一个FASTCGI

的define,突然想到ea的官网似乎有这么一句话“eAccelerator only works with mod_php or php in fastcgi mode”

当时没太明白这句话的意思,现在突然明白了,nnd的,原来是这么回事。

 

接下来就好办了,重新编译php,然后再编译ea,完了再测试,搞定了。

 

看来以后还是先看README比较好,否则回头再搞,反而更费事。

你可能感兴趣的:(PHP,File,Module,测试,cgi,Zend)