Antwort an „Jörg“ verfassen

Hallo Forum,

ich verstehe den composer für php nicht so ganz.

Da ich ihn in meiner php8-Umgebung nicht installiert bekomme (falsche imagick-Version in meiner xampp-Version), habe ich den composer in meiner php 7.4-Umgebung installiert.

Nun habe ich eine php-Bibliotek samt Abhängigkeiten über den composer installiert und ein "vendor-Verzeichnis" erhalten.

Dieses habe ich dann komplett in miene php8-Umgebung kopiert und versucht, ein Script laufen zu lassen, das auf derselben verzeichnisebene wie der vendor-Ordner läuft:

<?php
require 'vendor/autoload.php';

use BaconQrCode\Common\ErrorCorrectionLevel;
use BaconQrCode\Encoder\Encoder;
use BaconQrCode\Renderer\Image\Png;
use BaconQrCode\Writer;



// Daten für den EPC-QR-Code
$iban = 'DE89370400440532013000'; // Ihre IBAN
$name = 'Max Mustermann'; // Ihr Name
$betrag = '50.00'; // Der zu zahlende Betrag
$verwendungszweck = 'Rechnung XYZ'; // Verwendungszweck

// EPC-Daten zusammenstellen
$epcData = "BCD\n002\n1\nSCT\n{$iban}\n{$name}\nEUR{$betrag}\n\n\n{$verwendungszweck}";


// EPC-QR-Code generieren
$renderer = new Png();
$renderer->setHeight(256);
$renderer->setWidth(256);
$writer = new Writer($renderer);
$qrCode = Encoder::encode($epcData, ErrorCorrectionLevel::M());
$writer->writeFile($qrCode, 'epc_qr_code.png');

echo 'EPC-QR-Code wurde erstellt: <img src="epc_qr_code.png">';

Ich erhalte den Fehler:

Fatal error: 
Uncaught Error: 
Class "BaconQrCode\Renderer\Image\Png" not found in 
D:\xampp8\htdocs\test4711\a.php:25 Stack trace: #0 {main} 
thrown in D:\xampp8\htdocs\test4711\a.php on line 25

Wo setze ich nun an?

War bereits das Kopieren des vendor-Ordners aus der php7-Umgebung in die php8-Umgebung der Fehler?

Oder war das gar nicht schlimm und es läuft etwas ganz anderes schief?

Die Verzeichnisstruktur des vedor-Verzeichnis im test4711-Ordner (innerhalb des htdocs) sieht so aus:

vendor

Ich komme hier nicht weiter.
Wer kann mir mal helfen und mir sagen, wie man sowas debugged?

Jörg

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen