溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP報錯:Call to undefined functi

發(fā)布時間:2020-06-16 20:49:10 來源:網(wǎng)絡 閱讀:2540 作者:810003643 欄目:web開發(fā)

PHP報錯:Call to undefined function bcmul(),在網(wǎng)上查到

bc是Binary Calculator的縮寫。bc*函數(shù)的參數(shù)都是操作數(shù)加上一個可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale沒有提供,就用bcscale的缺省值。這里大數(shù)直接用一個由0-9組成的string表示,計算結(jié)果返回的也是一個 string。

bcmul()需要用到bcscale函數(shù),需要用到php-bcmath擴展

一般情況下這個擴展在php安裝的時候,是存在ext/bcmath目錄的

那么利用phpize進行安裝新的php擴展

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(如果沒有設定extesion_dir,可能要加上全路徑,查看phpize執(zhí)行后的生成的so文件的路徑即可,這里是:extension_dir=/www/wdlinux/php/lib/php/extensions/no-debug-zts-20060613)

然后重啟web服務器,就Ok了

可能在make的時候,會遇到錯誤

錯誤:‘PHP_FE_END’未聲明(不在函數(shù)內(nèi)) -----{error: ‘PHP_FE_END’ undeclared here (not in a function)}

 

解決方法: 源代碼有錯誤,進入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

在我的實際操作中,寫入php.ini的是extension= bcmath.so,重啟服務后站點即可正常顯示,說明extension——dir已設定。關于這一點如何設置后期可以繼續(xù)學習。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI