我在安装一个joomla组件时遇到以下错误。
功能:bcmod不可用。请询问您的主机如何在PHP安装中启用此功能。
答案 0 :(得分:7)
您需要使用bcmath支持编译PHP(--enable-bcmath configure选项)。如果您在共享主机上,则不太可能为您启用它。因此,您可以从此页面尝试PHP手册中的解决方案:http://ru.php.net/manual/en/function.bcmod.php我没有尝试过,但您可以测试它:
/**
* my_bcmod - get modulus (substitute for bcmod)
* string my_bcmod ( string left_operand, int modulus )
* left_operand can be really big, but be carefull with modulus :(
* by Andrius Baranauskas and Laurynas Butkus :) Vilnius, Lithuania
**/
function my_bcmod( $x, $y )
{
// how many numbers to take at once? carefull not to exceed (int)
$take = 5;
$mod = '';
do
{
$a = (int)$mod.substr( $x, 0, $take );
$x = substr( $x, $take );
$mod = $a % $y;
}
while ( strlen($x) );
return (int)$mod;
}
// example
echo my_bcmod( "7044060001970316212900", 150 );
答案 1 :(得分:1)
您可以使用安装程序安装 bcmath 包。 我使用的是 CentOS,所以我的命令相对不同。您可以根据您的操作系统使用。
yum install php-bcmath
安装软件包后,
如果你使用的是php-fpm,那么你需要使用
重启php-fpm服务systemctl restart php-fpm
最后需要重启http服务器
systemctl restart nginx
答案 2 :(得分:0)
如果您有专用服务器,请尝试https://stackoverflow.com/a/25229386/8015825此处提供的解决方案。
在重新编译之前,检查php.ini文件并搜索“ bcmath”。 您可能会发现bcmath.scale = 0。如果是这样,请将0更改为2。
然后重新启动http服务器
答案 3 :(得分:0)
需要在 Debian 10 上安装库,还要在安装 bcmath 之前删除存储库的过期密钥
apt-key list 2>/dev/null | grep expired -B 1
apt-key del 95BD4743
apt-key list | grep expired
wget -O /etc/apt/trusted.gpg.d/deb.sury.gpg https://packages.sury.org/php/apt.gpg
apt-get update
apt install php7.2-bcmath
systemctl restart apache2