我尝试使用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模块。
谢谢, 雅格布
答案 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。