Windows + PHP : cURL error 60: SSL certificate problem: unable to get local issuer certificate

J’ai rencontré l’erreur suivante sous Windows 10 avec PHP 7.1 installé via Chocolatey :

[GuzzleHttp\Exception\RequestException]
cURL error 60: SSL certificate problem: unable to get local issuer certificate

Pour la corriger, deux étapes :

  1. Télécharger le fichier cacert.pem depuis curl.haxx.se/docs/caextract.html (lien direct) et le placer dans le répertoire d’installation de PHP (ici C:\tools\php71)
  2. Editer le fichier php.ini et préciser le chemin de cacert.pem :
    [curl]
    ; A default value for the CURLOPT_CAINFO option. This is required to be an
    ; absolute path.
    curl.cainfo = "C:\tools\php71\extras\ssl\cacert.pem"
    

Il est bien sûr possible de partager cacert entre plusieurs versions de PHP.

Ce fichier est un instantané du catalogue d’autorités de certification de Mozilla et évolue régulièrement. curl.haxx.se fournit sur son site un script pour l’extraire depuis une installation locale de Firefox.

Source : https://www.zen-cart.com/showthread.php?213892-Windows-server-Curl-error-(60)-SSL-Certificate-problem-Unable-to-get-local-issuer

mod_fcgid: read data timeout in 31 seconds

Sur un serveur avec Apache 2.2 et PHP 5.3 via FastCGI, j’ai rencontré l’erreur suivante en effectuant un import dans WordPress:

[Sun Feb 15 04:10:43 2015] [warn] [client X.X.X.X] mod_fcgid: read data timeout in 31 seconds

Après avoir vérifier la valeur Maximum execution time de PHP (déjà à 5 minutes), j’ai remarqué que ce n’était pas PHP mais le mod_fcgid qui provoquait l’erreur.

Pour le résoudre, se rendre dans le fichier de configuration du module (/etc/httpd/conf.d/fcgid.conf généralement) et ajouter / modifier l’option IPCCommTimeout comme suit:

IPCCommTimeout 300

Bien évidemment, sa valeur doit être également ou supérieure au Maximum execution time de PHP.

Achat de PhpStorm

Après plusieurs mois d’hésitation, je me suis (enfin) décidé à acheter une licence de phpStorm, un des (le?) meilleurs IDE pour PHP.

07-14-15-20-300x228.png

Concernant la procédure d’achat, que du classique: on crée un compte chez l’éditeur (Jetbrains) en indiquant ses coordonnées, on paye par Paypal ou CB (111,8 € TTC pour une licence personnelle) et après quelques minutes d’attente, un mail est envoyé avec un lien pour récupérer sa clé de licence.

Une clé de licence inutile puisqu’il suffit d’indiquer ses identifiants Jetbrain sur le logiciel (disponible en démo durant 30 jours) pour qu’il aille chercher sa licence.

Pour ceux qui développent régulièrement en PHP (ou dont c’est le métier), je le recommande vivement 🙂