PHP報(bào)錯(cuò):Call to undefined function bcmul(),在網(wǎng)上查到
為上林等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及上林網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、上林網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
bc是Binary Calculator的縮寫。bc*函數(shù)的參數(shù)都是操作數(shù)加上一個(gè)可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale沒有提供,就用bcscale的缺省值。這里大數(shù)直接用一個(gè)由0-9組成的string表示,計(jì)算結(jié)果返回的也是一個(gè) string。
bcmul()需要用到bcscale函數(shù),需要用到php-bcmath擴(kuò)展
一般情況下這個(gè)擴(kuò)展在php安裝的時(shí)候,是存在ext/bcmath目錄的
那么利用phpize進(jìn)行安裝新的php擴(kuò)展
cd bcmath目錄下
/etc/php/bin/phpize(phpize的路徑根據(jù)各自安裝有所不同)
./configure --with-php-config=/www/wdlinux/php/bin/php-config(php-config文件的路徑)
make
make install
最后還需要把生成的bcmath.so文件加入到php.ini中 extesion=bcmath.so(如果沒有設(shè)定extesion_dir,可能要加上全路徑,查看phpize執(zhí)行后的生成的so文件的路徑即可,這里是:extension_dir=/www/wdlinux/php/lib/php/extensions/no-debug-zts-20060613)
然后重啟web服務(wù)器,就Ok了
可能在make的時(shí)候,會(huì)遇到錯(cuò)誤
錯(cuò)誤:‘PHP_FE_END’未聲明(不在函數(shù)內(nèi)) -----{error: ‘PHP_FE_END’ undeclared here (not in a function)}
解決方法: 源代碼有錯(cuò)誤,進(jìn)入php-5.3.18/ext/mcrypt目錄
sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./*.c
再重新make && make install
在我的實(shí)際操作中,寫入php.ini的是extension= bcmath.so,重啟服務(wù)后站點(diǎn)即可正常顯示,說明extension——dir已設(shè)定。關(guān)于這一點(diǎn)如何設(shè)置后期可以繼續(xù)學(xué)習(xí)。