cURL SSL certificate problem na een PHP-update
Na een PHP-update mislukt een koppeling met SSL certificate problem of certificate verify failed.
Welke PHP-versie meldt jouw site?
Passieve check van headers, versie en de kop van de homepage. Geen login, geen scan.
Meer uitleg
Je website kan er normaal uitzien terwijl een externe verbinding faalt.
Bewaar de volledige melding en het doel van de verbinding.
Schakel certificaatcontrole niet uit om de melding snel weg te krijgen.
Voor je begint
Bewaar de volledige foutmelding en het tijdstip in een privénotitie. Noteer welke pagina of handeling de fout oproept en wat er vlak daarvoor veranderde. Een screenshot van alleen een lege pagina is minder bruikbaar dan de eerste foutregel uit het log.
Deel geen wachtwoorden, klantgegevens of volledige serverpaden in een openbaar forum.
Maak een back-upEen back-up is een kopie van je hele website, apart bewaard, zodat je hem kunt terugzetten als er iets misgaat. van bestanden en database voordat je iets wijzigt. Controleer ook hoe je die terugzet. Werk bij voorkeur op een afgeschermde testkopie met dezelfde PHP-versieEen PHP-versie is het nummer van de uitgave van PHP waarop jouw website draait, zoals 8.3..
Schakel daar echte betalingen en uitgaande klantmails uit. Verander één onderdeel per proef en schrijf op wat je hebt aangepast, zodat een mislukte poging eenvoudig terug te draaien is.
Wat er gecontroleerd wordt
Bij een beveiligde verbinding controleert de gebruikte software het certificaat van de andere partij. Daarvoor is informatie over vertrouwde certificaatuitgevers nodig. Een nieuwe PHP-omgeving kan een andere configuratie of bibliotheek gebruiken.
Ook de andere server kan een probleem hebben. De timing na jouw update bewijst dus nog niet aan welke kant de oorzaak zit.
PHPPHP is de programmeertaal waarmee veel websites, zoals WordPress-sites, hun pagina's maken op het moment dat een bezoeker erom vraagt. heeft instellingen voor cURLcURL is een hulpmiddel waarmee software, zoals PHP, gegevens ophaalt van of verstuurt naar andere websites en diensten. en voor verbindingen via SSL-streams. De cURL-instelling curl.cainfo verwijst naar een bestand met vertrouwde certificaten en vraagt een absoluut pad. De SSL-context kent onder meer cafile en capath.
Dit zijn verschillende configuratieroutes. Laat eerst vaststellen welke route de getroffen koppeling gebruikt.
Oplossen in vijf stappen
- Noteer de fouttekst, het tijdstip en welke koppeling misgaat. Verwijder geheime parameters uit een URL voordat je die deelt. Gaat het om updates ophalen, een betaalprovider of een import? Test betalingen uitsluitend via de daarvoor bedoelde testomgevingEen stagingomgeving is een afgeschermde kopie van je website waarop je updates uitprobeert voordat ze live gaan., niet door echte transacties steeds te herhalen.
- Laat de hoster de PHP-versie en geladen configuratie van het betrokken proces bevestigen. Vraag of de benodigde extensie beschikbaar is en waar het proces zijn vertrouwde certificaten leest. Een geslaagde verbinding vanaf je laptop bewijst niet dat de server dezelfde instellingen gebruikt.
- Laat het genoemde certificaatbestand en de toegang ertoe controleren. De beheerder moet een passende, onderhouden vertrouwensbron gebruiken. Download niet willekeurig een certificaatbundel van een forum. Een ontbrekend bestand, verkeerd pad of onleesbaar bestand vraagt ieder om een andere concrete correctie.
- Laat ook het certificaat van het doel onderzoeken, inclusief hostnaam, geldigheid en keten. Gebruik daarbij de exacte hostnaam uit de mislukte verbinding. Als alleen één externe dienst faalt, geef de bevindingen aan die leverancier. Ga niet alle PHP-instellingen veranderen om een fout aan de andere kant te maskeren.
- Test na de gerichte correctie opnieuw vanuit dezelfde serveromgeving. Controleer of de beoogde taak afrondt en of certificaatverificatie ingeschakeld blijft. Leg vast welke instelling of certificaatketen is aangepast en welke test het resultaat bevestigt. Controleer het log op nieuwe meldingen.
Niet iedere cURL-fout is een certificaatfout
Een timeout, een niet gevonden hostnaam en een ontbrekende functie vragen ander onderzoek. Als de melding Call to undefined function curl_init luidt, begint de diagnose bij de functie of extensie. Gebruik daarvoor het verwante artikel.
Dit artikel gaat over een verbinding waarbij de controle van het certificaat niet slaagt.
Wanneer je dit beter laat doen
Vraag hulp via het hulpformulier hieronder als de verbinding betalingen of klantgegevens verwerkt, of als je geen beheer hebt over certificaatbestanden. Lever de geschoonde foutmelding en getroffen omgeving aan. Laat de beheerder aantonen dat de verbinding werkt mét verificatie.
Een geslaagde test na het uitschakelen van die controle is geen acceptabel herstelbewijs.
Controle na herstel
Herhaal eerst precies de handeling die misging. Controleer daarna inloggen, een formulier versturen en de belangrijkste route van jouw website. Gebruik voor een winkel een testbestelling zonder echte afschrijving.
Bekijk het log op nieuwe meldingen met een recent tijdstip. Alleen een werkende homepage bewijst nog niet dat het hele probleem weg is.
Bewaar de gebruikte versies, de uitgevoerde wijziging en het resultaat bij je onderhoudsnotities. Spreek af wie de eerstvolgende update controleert. Stop als dezelfde fout terugkomt terwijl de veronderstelde oorzaak al is opgelost.
Dat is een reden om de diagnose opnieuw te bekijken, geen reden om steeds meer instellingen tegelijk te veranderen.