Ich benutze dieses Paket: https://github.com/RobThree/TwoFactorAuth und ich versuche, den Teil des Handbuchs zu folgen, wo Sie Ihren eigenen QR-Code-Anbieter verwenden können.Klasse nicht gefunden PHP (2FA Paket)
Ich habe die Datei phpqrcode.php
heruntergeladen und in das Verzeichnis gestellt, in dem sich TwoFactorAuth.php
befindet.
Wenn require_once
an der Spitze wie in der Führung ist, erhalte ich die Fehlermeldung:
Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in /var/www/public/vendor/robthree/twofactorauth/lib/Providers/Qr/MyProvider.php on line 4
im Verzeichnis Also, mit TwoFactorAuth.php
fügte ich myprovider.php
mit dem folgenden Code:
<?php
namespace RobThree\Auth\Providers\Qr;
require_once(__DIR__ . '/../../phpqrcode.php');
class MyProvider implements IQRCodeProvider {
public function getMimeType() {
return 'image/png'; // This provider only returns PNG's
}
public function getQRCodeImage($qrtext, $size) {
ob_start(); // 'Catch' QRCode's output
QRCode::png($qrtext, null, QR_ECLEVEL_L, 3, 4); // We ignore $size and set it to 3
// since phpqrcode doesn't support
// a size in pixels...
$result = ob_get_contents(); // 'Catch' QRCode's output
ob_end_clean(); // Cleanup
return $result; // Return image
}
}
I Verwenden Sie dann den folgenden Code, um ähnlich wie bei der Readme einen QR-Code zu generieren:
Aber dann diesen Fehler ich ..
Fatal error: Uncaught Error: Class 'RobThree\Auth\Providers\Qr\QRCode' not found in /var/www/public/vendor/robthree/twofactorauth/lib/Providers/Qr/MyProvider.php:13 Stack trace: #0 /var/www/public/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php(146): RobThree\Auth\Providers\Qr\MyProvider->getQRCodeImage('otpauth://totp/...', 200) #1 /var/www/public/test.php(6): RobThree\Auth\TwoFactorAuth->getQRCodeImageAsDataUri('Bob Ross', 'ID2Y3P5C6N2NXKD...') #2 {main} thrown in /var/www/public/vendor/robthree/twofactorauth/lib/Providers/Qr/MyProvider.php on line 13
Kann mir jemand dabei helfen?