Компиляция модуля диванной базы PHP7

я пытаюсь скомпилировать php-couchbase (https://github.com/couchbase/php-couchbase ) с PHP7, но после phpize ./configure на 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.

Спасибо, Якопо.


person Jacopo Cappelli    schedule 02.02.2016    source источник


Ответы (2)


К сожалению, Couchbase PHP SDK в настоящее время не поддерживает PHP 7. Планируется добавить поддержку SDK в соответствии с https://issues.couchbase.com/browse/PCBC-360, однако пока нет запланированной даты выпуска для добавления этой поддержки.

person Matt Carabine    schedule 02.02.2016

Вы можете скомпилировать php-couchbase, используя ветку php7 (https://github.com/couchbase/php-couchbase/tree/php7).

person nicolae-stelian    schedule 28.03.2016
comment
Обратите внимание, что он обновляется полурегулярно, и обзор кода находится здесь: review.couchbase.org/#/q/ - person Matt Ingenthron; 30.03.2016