Generating invoice is blank

Hello everyone. I’ve installed OpenEMR on Windows Server 2019, running on IIS w/ PHP 8. Everything appears to be working fine, except for when I go to billing.

I have a test patient, and I’ve gone into generating a payment invoice (Fees -> Payment). After I fill out the details and select “Generate Invoice”, it loads for a bit, and then displays a blank page. Since I’m not using XAMPP (aside from the MySQL server), I’m wondering if there’s something in that package that OpenEMR relies on, that I don’t have on my IIS version.

All my PHP modules are enabled, so unless there’s a module I’m missing? I am running Helicon Ape to parse the Apache code in IIS, so Zend appears to be working, but I’m not sure if that is where the issue is.

OpenEMR Version
I’m using OpenEMR version

I’m using: Firefox, Chrome (Adblocks OFF for both)

Operating System
I’m using: Windows Server 2019

Did you check the logs? No (Don’t know where they are output)
Was there anything pertinent in them?
Please paste them here (surround with three backticks (```) for readability.
You can also turn on User Debugging under Administration->Globals->Logging User Debugging Options=>All

When Debugging is on, it spits out the error:

 Fatal error: Uncaught TypeError: Unsupported operand types: int + string in Z:\OpenEMR\interface\patient_file\front_payment.php:198 Stack trace: #0 {main} thrown in Z:\OpenEMR\interface\patient_file\front_payment.php on line 198

it’s a php8 fatal error thank you for reporting @CrimsonFlash, try putting an (int) in front of $payment so

if ($amount = 0 + (int) $payment) {
1 Like

Doubtful $payment is an int!

You’re right. When I had a field blank, it would give the error. Putting in a number (even if 0) would fix it.

Your fix to the file worked. It gives an error still, but pressing OK it generates successfully.

SyntaxError: redeclaration of const htmlEscapesText
Line: 1 Column: 1
Error object: "{}"
1 Like

Is fixed in patch 2.

1 Like