条形码图像不是使用 php 中的barcode_encode_genbarcode 函数生成的,它显示空白的条形码图像

问题描述

未使用 barcode_encode_genbarcode 生成条码图像 PHP 中的函数显示空白条码图像。

当我追踪它时,我发现它给了我一个空白数组,它生成一个条形码图像

之后,我尝试安装 nix 但无法在 Centos 7 中安装 nix/genbarcode。 它给了我以下错误:-

**error: File not found by glob: epel-release*rpm**

    function barcode_encode_genbarcode($code,$encoding){
global $genbarcode_loc;

/* delete EAN-13 checksum */
if (preg_match("@^ean$@i",$encoding) && strlen($code) == 13) 
    $code = substr($code,12);
if (!$encoding) 
    $encoding = 'ANY';
$code = preg_replace('@\\\|\/@i',"_",$code);
$cmd = $genbarcode_loc.' "'.$code."\" \"".strtoupper($encoding)."\"";
$fp = popen($cmd,'r');
if ($fp) {
    $bars = fgets($fp,1024);
    $text = fgets($fp,1024);
    $encoding = fgets($fp,1024);
    pclose($fp);
} 
else {
    return false;
}
$ret = array(
    'encoding' => trim($encoding),'bars' => trim($bars),'text' => trim($text)
    );
if (!$ret['encoding']) return false;
if (!$ret['bars']) return false;
if (!$ret['text']) return false;
return $ret;

}

Blank barcode generated image

解决方法

您应该将 nix/genbarcode 插件添加到您的 CentOS 服务器。然后它会工作正常。 运行以下命令:

dhclient

yum update

curl https://nixos.org/nix/install | sh

rpm -ivh epel-release*rpm