因业务需要需要使用MQ,需要用到amqp,但现在所使用的PHP环境没有装这个扩展,参考segmentfault里的一篇教程进行安装,整理出了下面的教程。在这里,感谢@一个向往前端的后端工程师

安装rabbitmq-c

在安装amqp之前还需要安装另外一个通讯扩展rabbitmq-c。

下载源代码

最新源代码地址可以从github获取,这里用的是v0.10.0版本(发布本教程时最新版)

wget https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.zip

解压源代码并转到源代码目录

unzip v0.10.0.zip && cd rabbitmq-c-0.10.0

让cmake根据CMakeList.txt创建Makefile文件

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c .

执行结果

-- The C compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- CMAKE_BUILD_TYPE not specified. Creating Release build
-- Found C inline keyword: inline
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for socket
-- Looking for socket - found
-- Looking for poll
-- Looking for poll - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for posix_spawnp in rt
-- Looking for posix_spawnp in rt - found
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found suitable version "1.0.2k", minimum required is "0.9.8")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test HAVE_GNU90
-- Performing Test HAVE_GNU90 - Success
-- Could NOT find POPT (missing:  POPT_INCLUDE_DIR POPT_LIBRARY)
-- Could NOT find XMLTO (missing:  XMLTO_EXECUTABLE)
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Building rabbitmq as a shared library - yes
-- Building rabbitmq as a static library - yes
-- Configuring done
-- Generating done
-- Build files have been written to: /root/rabbitmq-c-0.10.0

开始编译rabbitmq-c库

cmake --build . --target install

执行结果

Scanning dependencies of target rabbitmq
[  1%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_framing.c.o
[  2%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_api.c.o
[  4%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_connection.c.o
[  5%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_mem.c.o
[  7%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_socket.c.o
[  8%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_table.c.o
[ 10%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_url.c.o
[ 11%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_tcp_socket.c.o
[ 13%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_time.c.o
[ 14%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_consumer.c.o
[ 15%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_openssl.c.o
[ 17%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_openssl_hostname_validation.c.o
[ 18%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_hostcheck.c.o
[ 20%] Building C object librabbitmq/CMakeFiles/rabbitmq.dir/amqp_openssl_bio.c.o
Linking C shared library librabbitmq.so
[ 20%] Built target rabbitmq
Scanning dependencies of target rabbitmq-static
[ 21%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_framing.c.o
[ 23%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_api.c.o
[ 24%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_connection.c.o
[ 26%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_mem.c.o
[ 27%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_socket.c.o
[ 28%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_table.c.o
[ 30%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_url.c.o
[ 31%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_tcp_socket.c.o
[ 33%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_time.c.o
[ 34%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_consumer.c.o
[ 36%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_openssl.c.o
[ 37%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_openssl_hostname_validation.c.o
[ 39%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_hostcheck.c.o
[ 40%] Building C object librabbitmq/CMakeFiles/rabbitmq-static.dir/amqp_openssl_bio.c.o
Linking C static library librabbitmq.a
[ 40%] Built target rabbitmq-static
Scanning dependencies of target amqp_bind
[ 42%] Building C object examples/CMakeFiles/amqp_bind.dir/amqp_bind.c.o
[ 43%] Building C object examples/CMakeFiles/amqp_bind.dir/utils.c.o
[ 44%] Building C object examples/CMakeFiles/amqp_bind.dir/unix/platform_utils.c.o
Linking C executable amqp_bind
[ 44%] Built target amqp_bind
Scanning dependencies of target amqp_connect_timeout
[ 46%] Building C object examples/CMakeFiles/amqp_connect_timeout.dir/amqp_connect_timeout.c.o
[ 47%] Building C object examples/CMakeFiles/amqp_connect_timeout.dir/utils.c.o
[ 49%] Building C object examples/CMakeFiles/amqp_connect_timeout.dir/unix/platform_utils.c.o
Linking C executable amqp_connect_timeout
[ 49%] Built target amqp_connect_timeout
Scanning dependencies of target amqp_consumer
[ 50%] Building C object examples/CMakeFiles/amqp_consumer.dir/amqp_consumer.c.o
[ 52%] Building C object examples/CMakeFiles/amqp_consumer.dir/utils.c.o
[ 53%] Building C object examples/CMakeFiles/amqp_consumer.dir/unix/platform_utils.c.o
Linking C executable amqp_consumer
[ 53%] Built target amqp_consumer
Scanning dependencies of target amqp_exchange_declare
[ 55%] Building C object examples/CMakeFiles/amqp_exchange_declare.dir/amqp_exchange_declare.c.o
[ 56%] Building C object examples/CMakeFiles/amqp_exchange_declare.dir/utils.c.o
[ 57%] Building C object examples/CMakeFiles/amqp_exchange_declare.dir/unix/platform_utils.c.o
Linking C executable amqp_exchange_declare
[ 57%] Built target amqp_exchange_declare
Scanning dependencies of target amqp_listen
[ 59%] Building C object examples/CMakeFiles/amqp_listen.dir/amqp_listen.c.o
[ 60%] Building C object examples/CMakeFiles/amqp_listen.dir/utils.c.o
[ 62%] Building C object examples/CMakeFiles/amqp_listen.dir/unix/platform_utils.c.o
Linking C executable amqp_listen
[ 62%] Built target amqp_listen
Scanning dependencies of target amqp_listenq
[ 63%] Building C object examples/CMakeFiles/amqp_listenq.dir/amqp_listenq.c.o
[ 65%] Building C object examples/CMakeFiles/amqp_listenq.dir/utils.c.o
[ 66%] Building C object examples/CMakeFiles/amqp_listenq.dir/unix/platform_utils.c.o
Linking C executable amqp_listenq
[ 66%] Built target amqp_listenq
Scanning dependencies of target amqp_producer
[ 68%] Building C object examples/CMakeFiles/amqp_producer.dir/amqp_producer.c.o
[ 69%] Building C object examples/CMakeFiles/amqp_producer.dir/utils.c.o
[ 71%] Building C object examples/CMakeFiles/amqp_producer.dir/unix/platform_utils.c.o
Linking C executable amqp_producer
[ 71%] Built target amqp_producer
Scanning dependencies of target amqp_rpc_sendstring_client
[ 72%] Building C object examples/CMakeFiles/amqp_rpc_sendstring_client.dir/amqp_rpc_sendstring_client.c.o
[ 73%] Building C object examples/CMakeFiles/amqp_rpc_sendstring_client.dir/utils.c.o
[ 75%] Building C object examples/CMakeFiles/amqp_rpc_sendstring_client.dir/unix/platform_utils.c.o
Linking C executable amqp_rpc_sendstring_client
[ 75%] Built target amqp_rpc_sendstring_client
Scanning dependencies of target amqp_sendstring
[ 76%] Building C object examples/CMakeFiles/amqp_sendstring.dir/amqp_sendstring.c.o
[ 78%] Building C object examples/CMakeFiles/amqp_sendstring.dir/utils.c.o
[ 79%] Building C object examples/CMakeFiles/amqp_sendstring.dir/unix/platform_utils.c.o
Linking C executable amqp_sendstring
[ 79%] Built target amqp_sendstring
Scanning dependencies of target amqp_ssl_connect
[ 81%] Building C object examples/CMakeFiles/amqp_ssl_connect.dir/amqp_ssl_connect.c.o
[ 82%] Building C object examples/CMakeFiles/amqp_ssl_connect.dir/utils.c.o
[ 84%] Building C object examples/CMakeFiles/amqp_ssl_connect.dir/unix/platform_utils.c.o
Linking C executable amqp_ssl_connect
[ 84%] Built target amqp_ssl_connect
Scanning dependencies of target amqp_unbind
[ 85%] Building C object examples/CMakeFiles/amqp_unbind.dir/amqp_unbind.c.o
[ 86%] Building C object examples/CMakeFiles/amqp_unbind.dir/utils.c.o
[ 88%] Building C object examples/CMakeFiles/amqp_unbind.dir/unix/platform_utils.c.o
Linking C executable amqp_unbind
[ 88%] Built target amqp_unbind
Scanning dependencies of target test_basic
[ 89%] Building C object tests/CMakeFiles/test_basic.dir/test_basic.c.o
Linking C executable test_basic
[ 89%] Built target test_basic
Scanning dependencies of target test_hostcheck
[ 91%] Building C object tests/CMakeFiles/test_hostcheck.dir/test_hostcheck.c.o
[ 92%] Building C object tests/CMakeFiles/test_hostcheck.dir/__/librabbitmq/amqp_hostcheck.c.o
Linking C executable test_hostcheck
[ 92%] Built target test_hostcheck
Scanning dependencies of target test_merge_capabilities
[ 94%] Building C object tests/CMakeFiles/test_merge_capabilities.dir/test_merge_capabilities.c.o
Linking C executable test_merge_capabilities
[ 94%] Built target test_merge_capabilities
Scanning dependencies of target test_parse_url
[ 95%] Building C object tests/CMakeFiles/test_parse_url.dir/test_parse_url.c.o
Linking C executable test_parse_url
[ 95%] Built target test_parse_url
Scanning dependencies of target test_sasl_mechanism
[ 97%] Building C object tests/CMakeFiles/test_sasl_mechanism.dir/test_sasl_mechanism.c.o
Linking C executable test_sasl_mechanism
[ 97%] Built target test_sasl_mechanism
Scanning dependencies of target test_status_enum
[ 98%] Building C object tests/CMakeFiles/test_status_enum.dir/test_status_enum.c.o
Linking C executable test_status_enum
[ 98%] Built target test_status_enum
Scanning dependencies of target test_tables
[100%] Building C object tests/CMakeFiles/test_tables.dir/test_tables.c.o
Linking C executable test_tables
[100%] Built target test_tables
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/rabbitmq-c/lib64/pkgconfig/librabbitmq.pc
-- Installing: /usr/local/rabbitmq-c/lib64/librabbitmq.so.4.4.0
-- Installing: /usr/local/rabbitmq-c/lib64/librabbitmq.so.4
-- Installing: /usr/local/rabbitmq-c/lib64/librabbitmq.so
-- Installing: /usr/local/rabbitmq-c/lib64/librabbitmq.a
-- Installing: /usr/local/rabbitmq-c/include/amqp.h
-- Installing: /usr/local/rabbitmq-c/include/amqp_framing.h
-- Installing: /usr/local/rabbitmq-c/include/amqp_tcp_socket.h
-- Installing: /usr/local/rabbitmq-c/include/amqp_ssl_socket.h

到这里就已经安装完成了。不过这里有一个坑。

软链接

你可以看一下/usr/local/rabbitmq-c下的目录只有include和lib64。因为后面编译安装amqp扩展的时候系统会到/usr/local/rabbitmq-c/lib目录下搜索依赖库,导致错误。所以这里需要加一步

ln -s /usr/local/rabbitmq-c/lib64 /usr/local/rabbitmq-c/lib

安装amqp扩展

下载源代码

最新源代码地址可以从PHP Pecl获取,这里用的是v1.9.4版本(发布本教程时最新版)

wget http://pecl.php.net/get/amqp-1.9.4.tgz

解压源代码并转到源代码目录

tar zxvf amqp-1.9.4.tgz && cd amqp-1.9.4

phpize

phpize 命令是用来准备 PHP 扩展库的编译环境的,主要是根据系统信息生成对应的configure文件。
宝塔支持同时使用多个PHP版本,所以注意这里的路径(/www/server/php/73/bin/phpize),换成你要添加的PHP版本对应的路径。

/www/server/php/73/bin/phpize

配置编译参数

宝塔支持同时使用多个PHP版本,所以注意这里的路径,换成你要添加的PHP版本对应的路径(/www/server/php/73/bin/php-config)。

./configure --with-php-config=/www/server/php/73/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c

执行结果

checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for PHP prefix... /www/server/php/73
checking for PHP includes... -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib
checking for PHP extension directory... /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731
checking for PHP installed headers prefix... /www/server/php/73/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for amqp support... yes, shared
checking for amqp... yes, shared
checking for supported PHP versions... supported (7.3.13)
yes
checking for pkg-config... /usr/bin/pkg-config
checking for amqp files in default path... found in /usr/local/rabbitmq-c
checking for librabbitmq version... 0.10.0
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... no
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h

开始编译安装

make && make install

执行结果

/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp.c -o amqp.lo
mkdir .libs
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp.c  -fPIC -DPIC -o .libs/amqp.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_type.c -o amqp_type.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_type.c  -fPIC -DPIC -o .libs/amqp_type.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_exchange.c -o amqp_exchange.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_exchange.c  -fPIC -DPIC -o .libs/amqp_exchange.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_queue.c -o amqp_queue.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_queue.c  -fPIC -DPIC -o .libs/amqp_queue.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_connection.c -o amqp_connection.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_connection.c  -fPIC -DPIC -o .libs/amqp_connection.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_connection_resource.c -o amqp_connection_resource.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_connection_resource.c  -fPIC -DPIC -o .libs/amqp_connection_resource.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_channel.c -o amqp_channel.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_channel.c  -fPIC -DPIC -o .libs/amqp_channel.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_envelope.c -o amqp_envelope.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_envelope.c  -fPIC -DPIC -o .libs/amqp_envelope.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_basic_properties.c -o amqp_basic_properties.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_basic_properties.c  -fPIC -DPIC -o .libs/amqp_basic_properties.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_methods_handling.c -o amqp_methods_handling.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_methods_handling.c  -fPIC -DPIC -o .libs/amqp_methods_handling.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_timestamp.c -o amqp_timestamp.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_timestamp.c  -fPIC -DPIC -o .libs/amqp_timestamp.o
/bin/sh /root/amqp-1.9.4/libtool --mode=compile cc  -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2   -c /root/amqp-1.9.4/amqp_decimal.c -o amqp_decimal.lo
 cc -I. -I/root/amqp-1.9.4 -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include -DHAVE_CONFIG_H -g -O2 -c /root/amqp-1.9.4/amqp_decimal.c  -fPIC -DPIC -o .libs/amqp_decimal.o
/bin/sh /root/amqp-1.9.4/libtool --mode=link cc -DPHP_ATOM_INC -I/root/amqp-1.9.4/include -I/root/amqp-1.9.4/main -I/root/amqp-1.9.4 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/rabbitmq-c/include  -DHAVE_CONFIG_H  -g -O2    -o amqp.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/amqp-1.9.4/modules  amqp.lo amqp_type.lo amqp_exchange.lo amqp_queue.lo amqp_connection.lo amqp_connection_resource.lo amqp_channel.lo amqp_envelope.lo amqp_basic_properties.lo amqp_methods_handling.lo amqp_timestamp.lo amqp_decimal.lo -Wl,-rpath,/usr/local/rabbitmq-c/lib -L/usr/local/rabbitmq-c/lib -lrabbitmq
cc -shared  .libs/amqp.o .libs/amqp_type.o .libs/amqp_exchange.o .libs/amqp_queue.o .libs/amqp_connection.o .libs/amqp_connection_resource.o .libs/amqp_channel.o .libs/amqp_envelope.o .libs/amqp_basic_properties.o .libs/amqp_methods_handling.o .libs/amqp_timestamp.o .libs/amqp_decimal.o  -L/usr/local/rabbitmq-c/lib -lrabbitmq  -Wl,-rpath -Wl,/usr/local/rabbitmq-c/lib -Wl,-soname -Wl,amqp.so -o .libs/amqp.so
creating amqp.la
(cd .libs && rm -f amqp.la && ln -s ../amqp.la amqp.la)
/bin/sh /root/amqp-1.9.4/libtool --mode=install cp ./amqp.la /root/amqp-1.9.4/modules
cp ./.libs/amqp.so /root/amqp-1.9.4/modules/amqp.so
cp ./.libs/amqp.lai /root/amqp-1.9.4/modules/amqp.la
PATH="$PATH:/sbin" ldconfig -n /root/amqp-1.9.4/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /root/amqp-1.9.4/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'.

Installing shared extensions:     /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/

启用扩展

配置php.ini

大概在配置文件九百多行的位置新建一行,加入以下代码

extension=/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/amqp.so

重启php

重启php-fpm或重载配置

查看phpinfo()

查看phpinfo(),搜索amqp.host,如果找到基本就是安装成功。

标签: none

添加新评论