Acefx
June 26, 2024, 9:43am
1
Hi everyone.
I’m using a Turnkey Linux VM with a selfhosted invoice ninja on it.
It’s using Apache & Php 8.1 initially
I’ve just upgraded with the webGui to 5.9 and felt in the php8.2 nightmare.
I upgraded PhP on the Debian / apache to 8.2 but without any success.
i’m still have the " Your Composer dependencies require a PHP version “>= 8.2.0”."
I’m hesitating,
Is there a correct an full step by step solution available for upgrading php 8.1 to 8.2 ?
Is there a way to manually downgrade Invoice ninja ?
Thanks a lot… i’m quite stuck right now
hillel
June 26, 2024, 9:51am
2
Hi,
The error implies a PHP version issue, what do you see if you run php -v
from the command line?
Acefx
June 26, 2024, 10:22am
3
hillel:
php -v
HP 8.2.20 (cli) (built: Jun 8 2024 21:33:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.20, Copyright (c) Zend Technologies
with Zend OPcache v8.2.20, Copyright (c), by Zend Technologies
it was 8.1 but I’ve upgraded PHP , following this guide
hillel
June 26, 2024, 10:27am
4
Maybe the info shared here will help:
I had to run through a lot of hoops but I finally got it to work after pressing every button. This all happened because I ran the update from inside the InvoiceNinja GUI which didn’t warn about needing PHP8.2x beforehand. When the installer completed, or perhaps failed?, it simply gave a generic error that PHP 8.2x was needed.
Basically:
Install the php-8.2 repository and install every php8.2-xxx library imaginable. “Digital Ocean + set up LAMP” has some excellent guides.
The php-fpm libra…
Acefx
June 26, 2024, 10:40am
5
Hi, thanks for the quote,
Indeed i’ve seen this post but it based on Nginx and i think that the Turnkey version ( mine ) is running on apache.
hillel
June 26, 2024, 10:46am
6
From the error it’s clearly a PHP version issue, it may help to completely remove PHP 8.1.
You may also want to setup a phpinfo page to check the PHP web version.
Acefx
June 26, 2024, 12:37pm
7
For sure php is the main problem
I’ve setup a php info page, an indeed the server is running on 8.1 and not in 8.2…
Do you have any idea where can be the conf file to get it running on 8.2 ?
my phpinfo
Acefx
June 26, 2024, 1:02pm
8
Ok I’ve figured out how to select Php version on turnkey distribution.
It’s done via Webmin —>Server—>apache webserver—> global —> configure apache modules. then select php8.2 and deselect php8.1
Now when i’m login in i get a server error message. Not the solution but maybe i’m getting close to the resolution
Any through ?
Acefx
June 26, 2024, 3:20pm
9
Do you have the procedure to downgrade Invoice ninja…
I think i 'd better migrate it to another, up to date and functionnal instance later
For now the old version was ok, i will make the move this week end
hillel
June 26, 2024, 3:33pm
10
You can downgrade by manually copying over the earlier release.
You may want to make a backup of the database and .env file.
Acefx
June 26, 2024, 3:38pm
11
Yep , the .env file is copied, the Database is on the way.
I let you know.
to be sure, once i got a working instance, i can easily make a backup —> migration to another instance via the Gui ?
I’ve seen that the public folder is needed to be backed as well.
hillel
June 26, 2024, 3:43pm
12
If you have the database and .env file you can setup a new instance of the app.
If you’re using the documents folder you would also need the storage folder.
Acefx
June 26, 2024, 5:07pm
13
Ok by restoring the Sql Dump of ninja db & the .env file i got the system back on a new instance already on Php 8.2, so a bit mo future proof.
I still got some errors, 500 & 401 when i access the server by it’s external address & ip
Maybe because of the logo & documents i need to restore manually ?
Let You know
hillel
June 26, 2024, 5:10pm
14
It may help to re-upload your logo.
If that doesn’t help please check for any errors in storage/logs.
Acefx
June 26, 2024, 5:27pm
15
Nothing in the log but when i check the server health i got a permission error ( not writable ) on a .php file…
which folder i need to check ?
hillel
June 26, 2024, 5:31pm
16
There’s info here on file permissions.
The leading free source available online invoicing app for freelancers & businesses. Invoice, accept payments, track expenses, & time-tasks
Acefx
June 26, 2024, 5:52pm
17
Yes i’ve found it , The permissions seems to be ok
I still have some 500 error every page load
hillel
June 26, 2024, 5:53pm
18
If you’re seeing a 500 error in the app there will be details about the error in either the web server error logs or the app logs in storage/logs.
Acefx
June 26, 2024, 6:30pm
19
Here the Storage/Log
Laravel.log
[2024-06-26 18:26:29] production.ERROR: file_get_contents(): php_network_getaddresses: getaddrinfo for pdf.invoicing.co failed: Temporary failure in name resolution {"userId":1,"exception":"[object] (ErrorException(code: 0): file_get_contents(): php_network_getaddresses: getaddrinfo for pdf.invoicing.co failed: Temporary failure in name resolution at /var/www/invoiceninja/app/Http/Controllers/SelfUpdateController.php:183)
[stacktrace]
#0 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(256): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}()
#2 /var/www/invoiceninja/app/Http/Controllers/SelfUpdateController.php(183): file_get_contents()
#3 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SelfUpdateController->checkVersion()
#4 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#5 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Tracing/Routing/TracingControllerDispatcherTracing.php(21): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#6 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Tracing/Routing/TracingRoutingDispatcher.php(17): Sentry\\Laravel\\Tracing\\Routing\\TracingControllerDispatcherTracing->Sentry\\Laravel\\Tracing\\Routing\\{closure}()
#7 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Tracing/Routing/TracingControllerDispatcherTracing.php(20): Sentry\\Laravel\\Tracing\\Routing\\TracingRoutingDispatcher->wrapRouteDispatch()
#8 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Sentry\\Laravel\\Tracing\\Routing\\TracingControllerDispatcherTracing->dispatch()
#9 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Route.php(206): Illuminate\\Routing\\Route->runController()
#10 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#11 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#12 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(124): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#13 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(89): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#14 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#15 /var/www/invoiceninja/app/Http/Middleware/QueryLogging.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#16 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\QueryLogging->handle()
#17 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#19 /var/www/invoiceninja/app/Http/Middleware/Locale.php(95): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\Locale->handle()
#21 /var/www/invoiceninja/app/Http/Middleware/TokenAuth.php(102): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\TokenAuth->handle()
#23 /var/www/invoiceninja/app/Http/Middleware/SetDb.php(40): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\SetDb->handle()
#25 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then()
#27 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack()
#28 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute()
#29 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute()
#30 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#31 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#32 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/FlushEventsMiddleware.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Sentry\\Laravel\\Http\\FlushEventsMiddleware->handle()
#34 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php(45): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Sentry\\Laravel\\Http\\SetRequestIpMiddleware->handle()
#36 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php(31): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Sentry\\Laravel\\Http\\SetRequestMiddleware->handle()
#38 /var/www/invoiceninja/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle()
#40 /var/www/invoiceninja/app/Http/Middleware/Cors.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\Cors->handle()
#42 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#44 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#46 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#47 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#49 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#50 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#51 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#52 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#53 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#54 /var/www/invoiceninja/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Tracing/Middleware.php(97): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#55 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Sentry\\Laravel\\Tracing\\Middleware->handle()
#56 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#57 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#58 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#59 /var/www/invoiceninja/public/index.php(56): Illuminate\\Foundation\\Http\\Kernel->handle()
#60 {main}
"}
hillel
June 26, 2024, 6:57pm
20
This error looks related to generating the PDF, are you seeing other problems in the app?
I suggest checking the server can reach pdf.invoicing.co .