php-Invalid-opcode-153-1-8-问题解决方法

Google一下发现是php的扩展eaccelerator的问题。新版本的php执行匿名函数等新特性,而eaccelerator对它无能为力。eaccelerator停止开发有年头了,github上最新的commit还是两年前的,唉……
搞了半天没找到解决方案,后来发现在github这个库的讨论区中有人给出了方案。就是检查,如果碰到LAMBDA这种方式的函数,就直接跳过好了。
修改的代码在这里:
https://github.com/toddbc/eaccelerator/commit/e7dc802057e9916c0e6751b87511fc43a89c0c3a

直接改好的optimize.c在这里:
https://github.com/toddbc/eaccelerator/blob/e7dc802057e9916c0e6751b87511fc43a89c0c3a/optimize.c

把这个optimize.c覆盖掉eaccelerator下的同名文件,重新编译和安装该扩展,搞定。

PS:编译安装好后,记得清空eaccelerator的cache目录,否则老的代码由于缓存的关系还是会报错。

Rating: 10.0/10 (3 votes cast)

Rating: 0 (from 0 votes)

php Invalid opcode 153/1/8 问题解决方法, 10.0 out of 10 based on 3 ratings