PHP安装BCMath扩展的方法

编译安装 (PHP-5.6.23)

1.进入PHP源码包目录下的ext/bcmath目录。

  [root@192 bcmath]# ls  bcmath.c config.m4 config.w32 CREDITS libbcmath package.xml php_bcmath.h tests

2.执行phpize命令,phpize命令在PHP安装目录的bin目录下,如/usr/local/php/bin/phpize。

  [root@192 bcmath]# /usr/local/php/bin/phpize  Configuring for:  PHP Api Version:     20131106  Zend Module Api No:   20131226  Zend Extension Api No:  220131226

3.执行./configure –with-php-config=/usr/local/php/bin/php-config。要依据php-config的实际路径。

  [root@192 bcmath]# ./configure --with-php-config=/usr/local/php/bin/php-config  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-unknown-linux-gnu  checking host system type... x86_64-unknown-linux-gnu  checking target system type... x86_64-unknown-linux-gnu  checking for PHP prefix... /usr/local/php  checking for PHP includes... -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  checking for PHP extension directory... /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226  checking for PHP installed headers prefix... /usr/local/php/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 whether to enable bc style precision math functions... yes, shared  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

4.执行make && make install。

  [root@192 bcmath]# make && make install  /bin/sh /home/tools/phptools/php-5.6.23/ext/bcmath/libtool --mode=compile cc -I/home/tools/phptools/php-5.6.23/ext/bcmath/libbcmath/src -I. -I/home/tools/phptools/php-5.6.23/ext/bcmath -DPHP_ATOM_INC -I/home/tools/phptools/php-5.6.23/ext/bcmath/include -I/home/tools/phptools/php-5.6.23/ext/bcmath/main -I/home/tools/phptools/php-5.6.23/ext/bcmath -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 -DHAVE_CONFIG_H -g -O2  -c /home/tools/phptools/php-5.6.23/ext/bcmath/bcmath.c -o bcmath.lo   mkdir .libs   cc -I/home/tools/phptools/php-5.6.23/ext/bcmath/libbcmath/src -I. -I/home/tools/phptools/php-5.6.23/ext/bcmath -DPHP_ATOM_INC -I/home/tools/phptools/php-5.6.23/ext/bcmath/include -I/home/tools/phptools/php-5.6.23/ext/bcmath/main -I/home/tools/phptools/php-5.6.23/ext/bcmath -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 -DHAVE_CONFIG_H -g -O2 -c /home/tools/phptools/php-5.6.23/ext/bcmath/bcmath.c -fPIC -DPIC -o .libs/bcmath.o  ... ...  ----------------------------------------------------------------------  Libraries have been installed in:    /home/tools/phptools/php-5.6.23/ext/bcmath/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:   /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

5.查询,php.ini中extension_dir配置的目录中已经有bcmath.so文件了。

  [root@192 sbin]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/  总用量 3984  -rwxr-xr-x. 1 root root 382568 10月 22 17:57 bcmath.so

6.在Dynamic Extensions配置块下添加一行extension=bcmath.so。

7.重启php服务即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论