search

Home  >  Q&A  >  body text

php - An error will be reported when compiling and installing pcntl and mysqli extensions. What is the error below?

[root@c991bca27e3e-lnmp-test1-lnmp-test1-1 pcntl]# make
/bin/sh /usr/local/src/php-5.6.30/ext/pcntl/libtool --mode=compile cc  -I. -I/usr/local/src/php-5.6.30/ext/pcntl -DPHP_ATOM_INC -I/usr/local/src/php-5.6.30/ext/pcntl/include -I/usr/local/src/php-5.6.30/ext/pcntl/main -I/usr/local/src/php-5.6.30/ext/pcntl -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /usr/local/src/php-5.6.30/ext/pcntl/pcntl.c -o pcntl.lo
libtool: compile:  cc -I. -I/usr/local/src/php-5.6.30/ext/pcntl -DPHP_ATOM_INC -I/usr/local/src/php-5.6.30/ext/pcntl/include -I/usr/local/src/php-5.6.30/ext/pcntl/main -I/usr/local/src/php-5.6.30/ext/pcntl -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/php-5.6.30/ext/pcntl/pcntl.c  -fPIC -DPIC -o .libs/pcntl.o
/usr/local/src/php-5.6.30/ext/pcntl/pcntl.c: In function 'zif_pcntl_exec':
/usr/local/src/php-5.6.30/ext/pcntl/pcntl.c:798:10: error: 'HASH_KEY_NON_EXISTENT' undeclared (first use in this function)
     case HASH_KEY_NON_EXISTENT:
          ^
/usr/local/src/php-5.6.30/ext/pcntl/pcntl.c:798:10: note: each undeclared identifier is reported only once for each function it appears in
make: *** [pcntl.lo] Error 1
黄舟黄舟2759 days ago1086

reply all(4)I'll reply

  • 高洛峰

    高洛峰2017-05-16 13:01:07

    phpize
    make
    make install

    reply
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:01:07

    pcntl belongs to the source code that comes with php
    https://github.com/php/php-src/tree/master/ext/pcntl

    First compile and installphp,并可以成功的执行phpize

    cd php-src/ext/pcntl
    phpize
    ./configure
    make
    
    cp modules/pcntl.so /your/php/ext/dir/

    Requires ./configure

    ----------------------------------------------------------------------
    Libraries have been installed in:
       /root/php-src-php-7.1.4/ext/pcntl/modules
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    
    Build complete.
    Don't forget to run 'make test'.

    reply
    0
  • 某草草

    某草草2017-05-16 13:01:07

    Put it/usr/local/src/php-5.6.30/ext/pcntl/pcntl.c中的HASH_KEY_NON_EXISTENT替换成HASH_KEY_NON_EXISTANT

    reply
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:01:07

    ./configure --prefix=/usr/local/php \
    --enable-bcmath \
    --enable-fpm \
    --enable-ftp \
    --enable-mbstring \
    --enable-pcntl \
    --enable-shmop \
    --enable-sockets \
    --enable-sysvsem \
    --enable-zip \
    --with-bz2 \
    --with-curl \
    --with-freetype-dir=/usr/lib64 \
    --with-gettext \
    --with-gd \
    --with-jpeg-dir=/usr/lib64 \
    --with-openssl \
    --with-png-dir=/usr/lib64 \
    --with-xmlrpc \
    --with-xsl \
    --with-mcrypt \
    --with-mysql \
    --with-mysqli \
    --with-pdo-mysql \
    --with-zlib \
    --with-config-file-path=/usr/local/php/etc/

    reply
    0
  • Cancelreply