zoukankan      html  css  js  c++  java
  • mongo扩展错误

    0

    When I installed the Mongo PHP extension, the following error occurred when I tried to compile the file.

    This is a picture

    • PHP version is 7,
    • MongoDB version is 3.0.6.

    The error

    /bin/sh /root/mongo-1.6.0/libtool --mode=compile cc -I./util -I. -I/root/mongo-1.6.0 -DPHP_ATOM_INC -I/root/mongo-1.6.0/include -I/root/mongo-1.6.0/main -I/root/mongo-1.6.0 -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/root/mongo-1.6.0/api -I/root/mongo-1.6.0/util -I/root/mongo-1.6.0/exceptions -I/root/mongo-1.6.0/gridfs -I/root/mongo-1.6.0/types -I/root/mongo-1.6.0/batch -I/root/mongo-1.6.0/contrib -I/root/mongo-1.6.0/mcon -I/root/mongo-1.6.0/mcon/contrib  -DHAVE_CONFIG_H  -g -O2   -c /root/mongo-1.6.0/php_mongo.c -o php_mongo.lo 
    mkdir .libs
     cc -I./util -I. -I/root/mongo-1.6.0 -DPHP_ATOM_INC -I/root/mongo-1.6.0/include -I/root/mongo-1.6.0/main -I/root/mongo-1.6.0 -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/root/mongo-1.6.0/api -I/root/mongo-1.6.0/util -I/root/mongo-1.6.0/exceptions -I/root/mongo-1.6.0/gridfs -I/root/mongo-1.6.0/types -I/root/mongo-1.6.0/batch -I/root/mongo-1.6.0/contrib -I/root/mongo-1.6.0/mcon -I/root/mongo-1.6.0/mcon/contrib -DHAVE_CONFIG_H -g -O2 -c /root/mongo-1.6.0/php_mongo.c  -fPIC -DPIC -o .libs/php_mongo.o
    In file included from/root/mongo-1.6.0/php_mongo.c:22:/root/mongo-1.6.0/php_mongo.h:197: error: expected ‘=’,‘,’,‘;’,asmor__attribute__ before php_mongo_type_object_new/root/mongo-1.6.0/php_mongo.h:201: error: expected ‘;’,‘,’or‘)’ before ‘*’ token
    /root/mongo-1.6.0/php_mongo.h:207: error: expected ‘;’,‘,’or‘)’ before ‘*’ token
    In file included from/root/mongo-1.6.0/php_mongo.c:24:/root/mongo-1.6.0/mongoclient.h:19: error: expected ‘=’,‘,’,‘;’,asmor__attribute__ before php_mongoclient_newIn file included from/root/mongo-1.6.0/php_mongo.c:43:/root/mongo-1.6.0/types/id.h:19: error: expected declaration specifiers or‘...’ before zend_uint/root/mongo-1.6.0/types/id.h:20: error: expected declaration specifiers or‘...’ before zend_uint/root/mongo-1.6.0/php_mongo.c:InfunctionOnUpdatePingInterval’:/root/mongo-1.6.0/php_mongo.c:127: error:new_value_length undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:127: error:(Each undeclared identifier is reported only once
    /root/mongo-1.6.0/php_mongo.c:127: error:for each function it appears in.)/root/mongo-1.6.0/php_mongo.c:127: warning: passing argument 1 of is_numeric_stringfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_operators.h:138: note: expected constchar*’ but argument is of type struct zend_string *’/root/mongo-1.6.0/php_mongo.c:InfunctionOnUpdateIsMasterInterval’:/root/mongo-1.6.0/php_mongo.c:139: error:new_value_length undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:139: warning: passing argument 1 of is_numeric_stringfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_operators.h:138: note: expected constchar*’ but argument is of type struct zend_string *’/root/mongo-1.6.0/php_mongo.c:Infunctionzm_startup_mongo’:/root/mongo-1.6.0/php_mongo.c:236: error:mongo_read_property undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:237: error:mongo_write_property undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:At top level:/root/mongo-1.6.0/php_mongo.c:481: error: expected ‘=’,‘,’,‘;’,asmor__attribute__ before php_mongo_type_object_new/root/mongo-1.6.0/php_mongo.c:496:57: error: macro "zend_hash_get_current_data" passed 2 arguments, but takes just 1/root/mongo-1.6.0/php_mongo.c:Infunctionget_tagset_from_array’:/root/mongo-1.6.0/php_mongo.c:496: error:zend_hash_get_current_data undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:505: warning: passing argument 2 of zend_hash_get_current_key_exfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:168: note: expected struct zend_string **’ but argument is of type char**’/root/mongo-1.6.0/php_mongo.c:505: warning: passing argument 3 of zend_hash_get_current_key_exfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:168: note: expected zend_ulong *’ but argument is of type uint*’/root/mongo-1.6.0/php_mongo.c:505: warning: passing argument 4 of zend_hash_get_current_key_exfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:168: note: expected HashPosition*’ but argument is of type ulong*’/root/mongo-1.6.0/php_mongo.c:505: error: too many arguments to functionzend_hash_get_current_key_ex/root/mongo-1.6.0/php_mongo.c:511: warning: passing argument 3 of mongo_read_preference_add_tag makes pointer from integer without a cast
    /root/mongo-1.6.0/mcon/read_preference.h:51: note: expected char*’ but argument is of type int/root/mongo-1.6.0/php_mongo.c:553:47: error: macro "add_assoc_string" passed 4 arguments, but takes just 3/root/mongo-1.6.0/php_mongo.c:Infunctionphp_mongo_make_tagsets’:/root/mongo-1.6.0/php_mongo.c:553: error:add_assoc_string undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:587:61: error: macro "zend_hash_get_current_data" passed 2 arguments, but takes just 1/root/mongo-1.6.0/php_mongo.c:Infunctionphp_mongo_use_tagsets’:/root/mongo-1.6.0/php_mongo.c:587: error:zend_hash_get_current_data undeclared (first useinthisfunction)/root/mongo-1.6.0/php_mongo.c:Infunctionphp_mongo_trigger_error_on_command_failure’:/root/mongo-1.6.0/php_mongo.c:658: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:658: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:664: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:664: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:665: warning: passing argument 1 of zval_get_typefrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_types.h:326: note: expected conststruct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:665: warning: passing argument 1 of zval_get_typefrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_types.h:326: note: expected conststruct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:665: warning: passing argument 1 of _convert_to_stringfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_operators.h:243: note: expected struct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:666: warning: assignment makes pointer from integer without a cast
    /root/mongo-1.6.0/php_mongo.c:671: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:671: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:672: warning: passing argument 1 of zval_get_typefrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_types.h:326: note: expected conststruct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:672: warning: passing argument 1 of convert_to_longfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_operators.h:244: note: expected struct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:685: error: too many arguments to functionzend_hash_copy/root/mongo-1.6.0/php_mongo.c:687: warning: passing argument 1 of _zval_ptr_dtorfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_variables.h:112: note: expected struct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:Infunctionphp_mongo_trigger_error_on_gle’:/root/mongo-1.6.0/php_mongo.c:708: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:708: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:716: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:716: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:717: warning: passing argument 1 of zval_get_typefrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_types.h:326: note: expected conststruct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:717: warning: passing argument 1 of convert_to_longfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_operators.h:244: note: expected struct zval *’ but argument is of type struct zval **’/root/mongo-1.6.0/php_mongo.c:724: warning: passing argument 2 of zend_hash_findfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_hash.h:154: note: expected struct zend_string *’ but argument is of type char*’/root/mongo-1.6.0/php_mongo.c:724: error: too many arguments to functionzend_hash_find/root/mongo-1.6.0/php_mongo.c:736: error: too many arguments to functionzend_hash_copy/root/mongo-1.6.0/php_mongo.c:738: warning: passing argument 1 of _zval_ptr_dtorfrom incompatible pointer type
    /usr/local/php/include/php/Zend/zend_variables.h:112: note: expected struct zval *’ but argument is of type struct zval **’
    make:***[php_mongo.lo]Error1
    1

    The first time to answer questions

    If you are a Linux user the following answers may help you

    I had the same problem with you, but I got it

    In fact, we should use mongodb instead of using Mongo

    These two are different

    This is my installation hope to help you

    curl -O https://pecl.php.net/get/mongodb-1.2.3.tgz
    
    tar zxf mongodb-1.2.3.tgz
    
    cd mongodb-1.2.3
    
    phpize
    
    ./configure --with-php-config=php-config 
    
    make&&make install
    

    Some links

    https://docs.mongodb.com/ecosystem/drivers/php/

    shareimprove this answer
     
     
    https://stackoverflow.com/questions/40144519/make-php-mongo-lo-error-1
  • 相关阅读:
    关于ueditor1.4.3版复制section标签丢失class和style样式问题
    关于移动手机端富文本编辑器qeditor图片上传改造
    移动web HTML5使用photoswipe模仿微信朋友圈图片放大浏览
    PLSQL Developer如何设置自动打开上次编辑的文件
    Linux目录结构
    git与代码托管工具
    mysql的索引
    Gson学习记录
    java线程池的初探
    netty学习总结(一)
  • 原文地址:https://www.cnblogs.com/brady-wang/p/10488710.html
Copyright © 2011-2022 走看看