Difference between revisions of "WebArea/Compat/PHP/Fr"
m (Add Languages template.) |
(Translation to French.) |
||
Line 1: | Line 1: | ||
{{Template:Languages}} | {{Template:Languages}} | ||
− | = PHP | + | = PHP chez TuxFamily = |
− | == | + | == Accèder aux logs d'erreurs == |
− | TuxFamily | + | Les sysadmins TuxFamily sont super sympas. Mais parfois, ils ne sont simplement pas disponible LÀ MAINTENANT TOUT DE SUITE, c-à-d quand vous avez vraiment mais alors vraiment besoin d'accéder aux logs d'erreurs PHP. |
− | + | Vous pouvez contourner ce problème en configurant PHP pour qu'il logge ses erreurs dans un fichier à vous. | |
− | + | Pour ce faire, copiez le fichier php.ini adéquat dans le même dossier que le point d'entrée de votre application (typiquement index.php) puis ajoutez-y error_log = /chemin/absolu/vers/un/fichier.log. | |
− | + | Comme c'est plus facile à dire qu'à faire, (après tout les chemins chez TuxFamily paths peuvent parfois être un peu contre-intuitifs), vous pouvez utiliser le script PHP suivant : | |
<nowiki> | <nowiki> | ||
Line 32: | Line 32: | ||
</nowiki> | </nowiki> | ||
− | + | Placez-le dans le même dossier que le point d'entrée de votre application (typiquement index.php), nommez-le own-error-log.php ou own-error-log.php7 et exécutez-le via votre navigateur. | |
− | + | Vous devriez obtenir un message disant "Success!" ainsi que des détails sur le stockage des erreurs PHP. | |
− | + | Une fois votre diagnostic terminé, enlevez le fichier php.ini (ou au moins sa directive error_log) et le fichier php-includes/error.log (sinon vous risquez de remplir le quota assigné à votre projet). |
Revision as of 23:30, 16 October 2020
PHP chez TuxFamily
Accèder aux logs d'erreurs
Les sysadmins TuxFamily sont super sympas. Mais parfois, ils ne sont simplement pas disponible LÀ MAINTENANT TOUT DE SUITE, c-à-d quand vous avez vraiment mais alors vraiment besoin d'accéder aux logs d'erreurs PHP. Vous pouvez contourner ce problème en configurant PHP pour qu'il logge ses erreurs dans un fichier à vous.
Pour ce faire, copiez le fichier php.ini adéquat dans le même dossier que le point d'entrée de votre application (typiquement index.php) puis ajoutez-y error_log = /chemin/absolu/vers/un/fichier.log. Comme c'est plus facile à dire qu'à faire, (après tout les chemins chez TuxFamily paths peuvent parfois être un peu contre-intuitifs), vous pouvez utiliser le script PHP suivant :
<?php function nope_the_fuck_out_of_here($message) { echo $message . ' Aborting.'; exit(); } $ini_file = php_ini_loaded_file(); if (!is_file($ini_file)) nope_the_fuck_out_of_here('Unable to determine php.ini location.'); $base_path = implode(array_slice(explode('/', realpath(getcwd()), 8), 0, 7), '/'); if (!is_dir($base_path)) nope_the_fuck_out_of_here('Non-existing webarea base path.'); $error_dirpath = $base_path . '/php-include'; if (!is_dir($error_dirpath)) nope_the_fuck_out_of_here('No php-include directory.'); $error_filepath = $error_dirpath . '/error.log'; if (!is_file('php.ini')) { $copy = copy($ini_file, 'php.ini'); if (!$copy) nope_the_fuck_out_of_here("Copying ${ini_file} failed."); } else echo "php.ini already exists, skipping copy.\n<br>"; $config = file_put_contents('php.ini', "error_log = ${error_filepath}\n", FILE_APPEND); if (!$config) nope_the_fuck_out_of_here("Error while setting error_log."); echo "Success! Copied ${ini_file} to the current directory and adjusted error_log to log errors into ${error_filepath}.";
Placez-le dans le même dossier que le point d'entrée de votre application (typiquement index.php), nommez-le own-error-log.php ou own-error-log.php7 et exécutez-le via votre navigateur. Vous devriez obtenir un message disant "Success!" ainsi que des détails sur le stockage des erreurs PHP. Une fois votre diagnostic terminé, enlevez le fichier php.ini (ou au moins sa directive error_log) et le fichier php-includes/error.log (sinon vous risquez de remplir le quota assigné à votre projet).