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

今天试图给服务器装一个wikimedia,运行安装程序的时候,报错: Fatal error:  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目录,否则老的代码由于缓存的关系还是会报错。

发表评论

电子邮件地址不会被公开。 必填项已用*标注