Comment débuguer une erreur 500 sur un mutualisé OVH
Par mesure de sécurité, quand il y a une erreur dans votre script php, OVH (comme tous les hébergeurs probablement) n'affiche pas la cause de l'erreur. A la place, vous avez droit à une page blanche et à une belle erreur 500. C'est normal.
Par contre, ce qui est plus gênant, c'est que le message d'erreur n'est pas non plus affiché dans les logs. Et leur documentation officielle n'est pas vraiment d'une grande aide, surtout si vous avez une offre perso. Quant à la solution consistant à changer environment=production en environment=development dans le .ovhconfig, elle n'a jamais fonctionné pour moi…
Comment débuguer dans ce cas ?
Il suffit de rajouter en tête du script php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', 'error'.date("y-m-d").'.log');
A l'exécution suivante du script, un fichier *.log nommé d'après la date d'exécution (par exemple error17-12-09.log s'il est exécuté le 9 décembre 2017) sera créé dans le même répertoire que celui-ci. Et dedans, vous y trouverez le message d'erreur tant espéré !
N'oubliez pas de commenter ces lignes après avoir résolu votre bug !