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:
Ich komme hier nicht weiter.
Wer kann mir mal helfen und mir sagen, wie man sowas debugged?
Jörg