1

I want to generate barcodes in my application. When I run the code locally

php bin/console server:run 0.0.0.0

on my Windows PC, it works like a charm, but when I push it to my Git repository and pull it on my Apache2 Server an test it there, I get black bars. The composer.json files are the same and the PHP Version also (PHP 7.4.7)

I am working with Symfony 4 and picqer/php-barcode-generator (https://github.com/picqer/php-barcode-generator).

In the controller:

$barcodeList[$barcode->getId()]['img'] = base64_encode($generator->getBarcode(intval($barcode->getValue()), $generator::TYPE_EAN_13, 1, 25));

In the template:

<img src="data:image/png;base64,{{ barcode.img }}" >

Example of the result on my local PC:

data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2OTApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAGQBfAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8ATUf+TevEf/cK/wDSTT66DxD/AMgPwn/2UCT/ANLbquf1H/k3rxH/ANwr/wBJNProPEP/ACA/Cf8A2UCT/wBLbqgDgPGX/JFbb/sK6b/6aIa3/Fv/ACM/w6/7GvU//TktYHjL/kitt/2FdN/9NENb/i3/AJGf4df9jXqf/pyWgDoPBv8AyHLn/soGpf8ApFNXAeBP+Pvw1/2CrX/0/rXf+Df+Q5c/9lA1L/0imrgPAn/H34a/7BVr/wCn9aADw9/yHPFn/ZP4/wD0ita3/CX/ACM/xF/7GvTP/Tk1YHh7/kOeLP8Asn8f/pFa1v8AhL/kZ/iL/wBjXpn/AKcmoAwPBv8AyRW5/wCwrqX/AKaJqPGX/IDtv+yf6b/6Ww0eDf8Akitz/wBhXUv/AE0TUeMv+QHbf9k/03/0thoA373/AJp9/wByx/7eVgXn/JBdG/7BV/8A+nS0rfvf+aff9yx/7eVgXn/JBdG/7BV//wCnS0oA39R/5N68R/8AcK/9JNProPEP/ID8J/8AZQJP/S26rn9R/wCTevEf/cK/9JNProPEP/ID8J/9lAk/9LbqgDgPGX/JFbb/ALCum/8Apohrf8W/8jP8Ov8Asa9T/wDTktYHjL/kitt/2FdN/wDTRDW/4t/5Gf4df9jXqf8A6cloA6Dwb/yHLn/soGpf+kU1cB4E/wCPvw1/2CrX/wBP613/AIN/5Dlz/wBlA1L/ANIpq4DwJ/x9+Gv+wVa/+n9aADw9/wAhzxZ/2T+P/wBIrWt/wl/yM/xF/wCxr0z/ANOTVgeHv+Q54s/7J/H/AOkVrW/4S/5Gf4i/9jXpn/pyagDA8G/8kVuf+wrqX/pomo8Zf8gO2/7J/pv/AKWw0eDf+SK3P/YV1L/00TUeMv8AkB23/ZP9N/8AS2GgDfvf+aff9yx/7eVgXn/JBdG/7BV//wCnS0rfvf8Amn3/AHLH/t5WBef8kF0b/sFX/wD6dLSgD//Z

enter image description here

Result on my Apache Server:

data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/wAALCAAZAF8BAREA/8QAFQABAQAAAAAAAAAAAAAAAAAAAAn/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/9oACAEBAAA/AJVAAAAAAAAAAAAAAAA//9k=

enter image description here

composer.json

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "doctrine/doctrine-bundle": "*",
        "doctrine/doctrine-migrations-bundle": "^2.0",
        "doctrine/orm": "*",
        "dompdf/dompdf": "^0.8.3",
        "endroid/qr-code-bundle": "^3.3",
        "phpoffice/phpspreadsheet": "^1.11",
        "picqer/php-barcode-generator": "^2.0",
        "sensio/framework-extra-bundle": "^5.3",
        "sensiolabs/security-checker": "^5.0",
        "symfony/apache-pack": "^1.0",
        "symfony/asset": "4.3.*",
        "symfony/console": "4.3.*",
        "symfony/dotenv": "4.3.*",
        "symfony/flex": "^1.1",
        "symfony/form": "4.3.*",
        "symfony/framework-bundle": "4.3.*",
        "symfony/maker-bundle": "^1.11",
        "symfony/orm-pack": "^1.0",
        "symfony/security-bundle": "4.3.*",
        "symfony/serializer-pack": "^1.0",
        "symfony/swiftmailer-bundle": "^3.2",
        "symfony/twig-bundle": "4.3.*",
        "symfony/validator": "4.3.*",
        "symfony/web-server-bundle": "4.3.*",
        "symfony/yaml": "4.3.*",
        "twig/extensions": "^1.5"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd",
            "security-checker security:check": "script"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "4.3.*"
        }
    },
    "require-dev": {
        "symfony/profiler-pack": "^1.0",
        "symfony/console": "^4.3"
    }
}
Dhia Djobbi
  • 1,176
  • 2
  • 15
  • 35
Laire
  • 1,290
  • 6
  • 22
  • 49
  • 1
    Are you missing an image processor like gd of imagick on the server? – Julien B. Jun 15 '20 at 22:33
  • Yeah could be as @JulienB. said that an php extension is missing on your product server. Have a look [here](https://stackoverflow.com/questions/478844/how-do-i-see-the-extensions-loaded-by-php) on how to check – CasualBen Jun 16 '20 at 10:06
  • @JulienB. imagick and gd is installed – Laire Jun 17 '20 at 08:45
  • What have you tried to debug the problem? Why not start with fixed values to be encoded, and check for the calculated values in each step – Nico Haase Jun 17 '20 at 09:10
  • can you try to see if the gd and imagick lib are working fine in your server ( even if they are installed ). it can be a missed configuration or something that block your php code/version to access . use some blank page or samples from php GD Manual to see. – MoxGeek Jun 17 '20 at 10:00

0 Answers0