昨晚将PHP在UBUNTU下手工编译到了5.3RC2,挂载上APC(3.1.2,共享编译加载)后发现程序直接死掉。
不停的刷新中,有时候报500,有时候报找不到已定义过的方法。而且时不时会有乱码跳出来。
跟踪调试了半天。发现祸手就是php5.3中新增的三元表达式 ?: 上面。看来APC暂时还不支持新三元。
将 ?: 表达式涉及的程序段全部改写回 老三元表达式后,一切正常
tips:php5.3在编译成fastcgi时,不再像以前那样需要with-fastcgi,在wiki里已说明了PHP5.3内置fastcgi模式。
PS: 一早起来收到邮件,官方回复说这个问题已经被修正了.以下是邮件正文
ID: 16447
Updated by: shire@php.net
Reported By: peteryu at live dot cn
-Status: Open
+Status: Closed
Id: 16447
Type: Bug
Package: APC
Operating System: Ubuntu
PHP Version: 5_3 CVS-2009-04-27 (dev)
New Comment:
This bug has been fixed in CVS.
In case this was a documentation problem, the fix will show up at the end of next Sunday (CET) on pecl.php.net.
In case this was a pecl.php.net website problem, the change will show up on the website in short time.
Thank you for the report, and for helping us make PECL better.