Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8, problem to Parse on QReader #126

Open
Freepaq opened this issue Jun 30, 2022 · 16 comments
Open

PHP 8, problem to Parse on QReader #126

Freepaq opened this issue Jun 30, 2022 · 16 comments

Comments

@Freepaq
Copy link

Freepaq commented Jun 30, 2022

With PHP8, I have now an issue to decode QRCode :

Parse error: syntax error, unexpected fully qualified name "\Zxing\BinaryBitmap" expecting variable in qrcode-detector-decoder\lib\QrReader.php on line 15

@GenieTim
Copy link
Contributor

GenieTim commented Jul 1, 2022

Might be related to (partially my fault, so sorry, as you will see) #123

@Freepaq
Copy link
Author

Freepaq commented Jul 1, 2022

OK, do you will create a new release with a fix?

@GenieTim
Copy link
Contributor

GenieTim commented Jul 1, 2022

I can only open a new PR asking the kind maintainer to publish as a major instead of a minor version and deleting the version he just published. I will do that somewhen on the weekend when I can actually provide some more value in the PR.

Your fix for now is to have composer require this library with version 1.0.5.2 (or upgrade to PHP 8.1).

@Freepaq
Copy link
Author

Freepaq commented Jul 1, 2022 via email

@Monclee
Copy link

Monclee commented Nov 17, 2022

Where can i download previous version, im not very familiar on github yet, wich version would be?

@Freepaq
Copy link
Author

Freepaq commented Nov 17, 2022

on your project, you should hqve conposer:json file, just put on "require" array

"khanamiryan/qrcode-detector-decoder": "1.0.5.2"

1.0.5.2 is an example; the latest version is 2.0.2

@GenieTim
Copy link
Contributor

...and if you do not use composer, you find the releases (with source code) here: https://github.com/khanamiryan/php-qrcode-detector-decoder/releases

@Monclee
Copy link

Monclee commented Nov 19, 2022

Thanks that did it.

@Monclee
Copy link

Monclee commented Nov 19, 2022

Im converting a QR PDF to JPG and then to a string , it works great now.... I just found that if the PDF is sent via whatsapp, for some reason after that the process throw an empty text, (not finding qr anyone more), ¿does whatsapp affects pdfs?, i didnt know... Anyway is there any way to adjust de "sensibilty" or something like that? Sorry if this question is on the wrong place.

@GenieTim
Copy link
Contributor

GenieTim commented Nov 20, 2022

Anyway is there any way to adjust de "sensibilty" or something like that?

Yes, there actually is (in the new version though):

you can use

$text = $qrcode->text([
'TRY_HARDER' => true
]);

for example. Other adjustments are also available, see for one example here, though be aware that these others require some fiddling with the numbers for your use case. Look at the library code where the options you pass are used, and what they accept.

I would recommend to either

  • cut your image better, such that it includes less stuff around, if you know where the QR-code is,
  • check the error, why no QR code is detected ($qrcode->getError()) and work from there
  • send a PR with such a failing PDF as a test (so devs know to fix this),
  • use a different QR-reader if this here fails.

@Freepaq
Copy link
Author

Freepaq commented Nov 23, 2022

Hello

I have upgraded to 1.0.6 and then I have error

PHP Parse error: syntax error, unexpected fully qualified name "\Zxing\BinaryBitmap", expecting variable in /mnt/web115/a3/96/52045096/htdocs/AQB/vendor/khanamiryan/qrcode-detector-decoder/lib/QrReader.php on line 14

@GenieTim
Copy link
Contributor

GenieTim commented Nov 23, 2022

Please upgrade to the latest version (2.0.2, seee https://github.com/khanamiryan/php-qrcode-detector-decoder/releases) if you have problems with an earlier one.

If you can't due to PHP incompatibilities, please downgrade to 1.0.5.2, 1.0.6 was removed, at least here on GitHub, since it should have been a major release.

@Freepaq
Copy link
Author

Freepaq commented Nov 23, 2022

Hello
with 1.0.5 I have this now :
PHP Fatal error: Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given in /mnt/web115/a3/96/52045096/htdocs/AQB/vendor/khanamiryan/qrcode-detector-decoder/lib/QrReader.php:94
Stack trace:
#0 /mnt/web115/a3/96/52045096/htdocs/AQB/vendor/khanamiryan/qrcode-detector-decoder/lib/QrReader.php(94): method_exists()

@GenieTim
Copy link
Contributor

Alright, you can now either catch this error and accept that it is equivalent to no text found, or upgrade to 1.0.5.2, it seems it was fixed there, see 1.0.5...1.0.5.2

@Freepaq
Copy link
Author

Freepaq commented Nov 23, 2022

Yes all is ok now. I will and a catch in case of. Thanks

@Monclee
Copy link

Monclee commented Nov 25, 2022

Ok im doing a log if errors come in. And im also adding this. Sice which version is this available?

$text = $qrcode->text([
'TRY_HARDER' => true
]);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants