I see no further errors and everything seems to work fine. I only can not apply the white label license (wich i bought twice now, because i thought that the code was invalid).
My setup has got a good health check on PHP 8.2.20 with:
As a start, you will need to upgrade to PHP 8.2, that is now the minimum required for InvoiceNinja. It seems that you might still have both PHP 7 and 8.2 installed. It is usually recommended to remove previous versions to prevent issues. You will likely need to review your configs to see which one is being pointed to in your .env and cron and either nginx or apache2. You should also increase your PHP memory limit, at minimum to 512M. However, the ideal is 1024M.
Is the error you shared above from your laravel.log? If not, do you have any errors there?
Thanx for the Laravel.log heads-up. Here i found the real error:
[2024-07-14 20:27:52] production.ERROR: Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL {“userId”:1,“exception”:"[object] (InvalidArgumentException(code: 0): Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL at /home/user/domains/domain.nl/public_html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:470)
So i need to fix this issue with Curl first.
The version of Curl (checkt through CLI) is: curl 7.29.0.
OS: Centos 7 (i know it is old)
I can’t get Curl updated higher then 7.29.0 because of the old CentOS.
Where does the API use Curl and can i add a max tls version there?
Is curl used for more features in Invoice Ninja?
It looks like guzzlehttp can work with curl 7.29.0 but the api calls the url wit tls 1.2 a assume?
} elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options[‘crypto_method’]) {
//if (!defined(‘CURL_SSLVERSION_TLSv1_2’)) {
// throw new \InvalidArgumentException(‘Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL’);
//}
$conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1;
I commented the error throw and changed “\CURL_SSLVERSION_TLSv1_2” into: “\CURL_SSLVERSION_TLSv1” in the code of public_html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php around line 470.
So the script is adding the option for use of CURL_SSLVERSION_TLSv1 instead of TLSv1.2.
The variable of this setting is in: public_html/vendor/laravel/framework/src/Illuminate/Http/Client/Pendingrequest.php (line 234: STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT). But when changing this one to 1_0 the script in CurlFactory.php tries to set the CURL_SSLVERSION_TLSv1_0 instead of TLSv1 (without the _0).
Corresponding error in laravel.log: