在弄一个php扩展, 想把 扩展写成类的 形式, 于是在声明的时候 想给类加个array 属性
于是expect 代码是这样的

  1. span class=”st0″>"%d", requests->type);
  2.         zend_declare_property(concurrency_class_entry, "requests", strlen("requests"

结果报错,
PHP Fatal error: Internal zval’s can’t be arrays, objects or resources in Unknown on line 0
把requests->type 用zend_printf打出来发现 结果是4 是 ZEND定义的IS_ARRAY,
继续翻代码
发现在Zend/zend_API.c 里面zend_declare_property的原型 有这样的定义

  1. span class=”st0″>"Internal zval’s can’t be arrays, objects or resources"

不知何意看
staceflow 上也有人遇到这种问题
http://stackoverflow.com/posts/1105360/revisions
,没办法,
于是就改成在构造函数里面 增加属性的声明
just as follow

  1. span class=”st0″>"requests""requests"), requests);
  2. }
  3.  

在这里记下!

以前没有发现这个问题, 今天下了一个eclipse3.6 装了之后,发现编辑代码时,补全之后 编辑器貌似还在获得焦点,
但是不能type 字符,很奇怪,
google 了一下,没有找到,解决方案,
这次baidu很出息,找到是scim问题, 据说还是一个老问题,

修改
/etc/X11/xinit/xinput.d/scim
将原来的
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
改成
GTK_IM_MODULE=scim
QT_IM_MODULE=scim

之前在切换 terminal 的之后, 开始的时候键盘反应慢的问题也解决了。