加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP安装BCMath扩展的方法

发布时间:2022-08-03 11:19:24 所属栏目:PHP教程 来源:互联网
导读:今天小编就为大家分享一篇关于PHP安装BCMath扩展的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。 编译安装 (PHP-5.6.23) 1.进入PHP源码包目录下的ext/bcmath目录。 [root@192 bcmath]# ls bcmath.c
  今天小编就为大家分享一篇关于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服务即可。

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读