--- title: "PHP Warning: Unknown: Unable to create temporary file" date: 2017-07-29T21:42:59+02:00 description: "Résoudre l'ensemble d'erreurs liée à 'PHP Warning: Unknown: Unable to create temporary file' !" draft: false lastmod: 2017-08-14T14:22:43+02:00 tags: ["PHP", "Erreur", "Unknown"] --- ## Description Dans vos logs d'erreur web, vous avez le message d'erreur suivant : `FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: Unable to create temporary file, Check permissions in temporary files directory. in Unknown on line 0` Ou celui-ci, qui est sensiblement différent : `PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0` Le problème est très simple: PHP ne peut pas créer les fichiers temporaires dont il a besoin de créer, dans le répertoire temporaire indiqué dans votre fichier de configuration `/etc/php-fpm.d/$domain.conf`. ## Dépannage Ouvrez votre fichier de configuration php-fpm relatif à votre site web. Vérifiez les informations suivantes : {{< file "web-php-warning-unknown-unable-create-temp-file-check" shell "/etc/php-fpm.d/$domain.conf" >}} Relevez les informations relatives à `user`, `group`, et `env[TMP]` * Vérifiez que le répertoire nommé dans les variables `env` ait bien les droits utilisateurs liés à `user:group`. * Vérifiez les droits en écriture… *sous OpenBSD, sous Debian/Ubuntu, des droits 0705 semblent fonctionnels*, à défaut 0755 devraient remédier à la situation ! * Si `php_admin_value[open_basedir]` est activée, ou l'option `open_basedir`, veillez à ajouter le répertoire `/tmp` parmi les répertoires autorisés ! `# chown user:group /var/www/tmp` {{< note info >}} Vous remarquez que la variable `php_admin_value[upload_tmp_dir]` pointe vers `/tmp`. C'est normal, il pointe vers le répertoire temporaire dans le chroot web…
Si le chroot web est `/var/www`, le répertoire temporaire relatif est bel est bien `/tmp`.
Quoiqu'il en soit, vérifiez que celui-ci est exactement les mêmes droits utilisateurs nécessaire à PHP ! {{}} ---