PHP7 couchbase模块编译

时间:2016-02-02 10:59:20

标签: php couchbase php-7

我尝试使用PHP7编译php-couchbase(https://github.com/couchbase/php-couchbase),但在phpize之后,。/ configure on make会收到此错误:

In file included from /home/ubuntu/php-couchbase/bucket.c:1:0:
/home/ubuntu/php-couchbase/bucket.c: In function 'zim_Bucket_http_request':
/home/ubuntu/php-couchbase/couchbase.h:44:23: warning: initialization makes pointer from integer without a cast [enabled by default]
 #define PHP_THISOBJ() zend_object_store_get_object(getThis() TSRMLS_CC)
                       ^
/home/ubuntu/php-couchbase/bucket.c:1136:24: note: in expansion of macro 'PHP_THISOBJ'
  bucket_object *data = PHP_THISOBJ();
                        ^
/home/ubuntu/php-couchbase/bucket.c: In function 'zim_Bucket_durability':
/home/ubuntu/php-couchbase/couchbase.h:44:23: warning: initialization makes pointer from integer without a cast [enabled by default]
 #define PHP_THISOBJ() zend_object_store_get_object(getThis() TSRMLS_CC)
                       ^
/home/ubuntu/php-couchbase/bucket.c:1203:24: note: in expansion of macro 'PHP_THISOBJ'
  bucket_object *data = PHP_THISOBJ();
                        ^
/home/ubuntu/php-couchbase/bucket.c: In function 'zim_Bucket_setTranscoder':
/home/ubuntu/php-couchbase/couchbase.h:44:23: warning: initialization makes pointer from integer without a cast [enabled by default]
 #define PHP_THISOBJ() zend_object_store_get_object(getThis() TSRMLS_CC)
                       ^
/home/ubuntu/php-couchbase/bucket.c:1268:24: note: in expansion of macro 'PHP_THISOBJ'
  bucket_object *data = PHP_THISOBJ();
                        ^
/home/ubuntu/php-couchbase/bucket.c:1275:2: warning: passing argument 1 of '_zval_ptr_dtor' from incompatible pointer type [enabled by default]
  zval_ptr_dtor(&data->encoder);
  ^
In file included from /usr/include/php/20151012/Zend/zend.h:39:0,
                 from /usr/include/php/20151012/main/php.h:36,
                 from /home/ubuntu/php-couchbase/couchbase.h:11,
                 from /home/ubuntu/php-couchbase/bucket.c:1:
/usr/include/php/20151012/Zend/zend_variables.h:112:15: note: expected 'struct zval *' but argument is of type 'struct zval **'
 ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC);
               ^
/home/ubuntu/php-couchbase/bucket.c:1279:2: warning: passing argument 1 of '_zval_ptr_dtor' from incompatible pointer type [enabled by default]
  zval_ptr_dtor(&data->decoder);
  ^
In file included from /usr/include/php/20151012/Zend/zend.h:39:0,
                 from /usr/include/php/20151012/main/php.h:36,
                 from /home/ubuntu/php-couchbase/couchbase.h:11,
                 from /home/ubuntu/php-couchbase/bucket.c:1:
/usr/include/php/20151012/Zend/zend_variables.h:112:15: note: expected 'struct zval *' but argument is of type 'struct zval **'
 ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC);
               ^
In file included from /home/ubuntu/php-couchbase/bucket.c:1:0:
/home/ubuntu/php-couchbase/bucket.c: In function 'zim_Bucket_setOption':
/home/ubuntu/php-couchbase/couchbase.h:44:23: warning: initialization makes pointer from integer without a cast [enabled by default]
 #define PHP_THISOBJ() zend_object_store_get_object(getThis() TSRMLS_CC)
                       ^
/home/ubuntu/php-couchbase/bucket.c:1288:24: note: in expansion of macro 'PHP_THISOBJ'
  bucket_object *data = PHP_THISOBJ();
                        ^
/home/ubuntu/php-couchbase/bucket.c: In function 'zim_Bucket_getOption':
/home/ubuntu/php-couchbase/couchbase.h:44:23: warning: initialization makes pointer from integer without a cast [enabled by default]
 #define PHP_THISOBJ() zend_object_store_get_object(getThis() TSRMLS_CC)
                       ^
/home/ubuntu/php-couchbase/bucket.c:1304:24: note: in expansion of macro 'PHP_THISOBJ'
  bucket_object *data = PHP_THISOBJ();
                        ^
/home/ubuntu/php-couchbase/bucket.c: In function 'couchbase_init_bucket':
/home/ubuntu/php-couchbase/bucket.c:1345:19: warning: assignment from incompatible pointer type [enabled by default]
  ce.create_object = bucket_create_handler;
                   ^
make: *** [bucket.lo] Error 1

Couchbase对我们没有帮助,PHP7对性能改进很重要。我们尝试使用HHVM但我们无法编译couchbase模块。

谢谢, 雅格布

2 个答案:

答案 0 :(得分:1)

不幸的是,Couchbase PHP SDK目前不支持PHP 7,有计划根据https://issues.couchbase.com/browse/PCBC-360添加对SDK的支持,但是还没有预定的发布日期来添加此支持。

答案 1 :(得分:0)

您可以使用php7分支(https://github.com/couchbase/php-couchbase/tree/php7)编译php-couchbase。