Php.ini local et php-fpm

Bonjour,

Sur un de mes serveurs , j’utilise php-fpm avec le système de pool afin de cloisonner les sites.
Mais je ne veux pas autoriser l’upload de fichiers dans un dossier du site.
Lorsque j’utilisais php en module apache , il suffisait que je mette dans le dossier un php.ini local avec file_uploads=off.

Mais avec php-fpm , les php.ini locaux ne fonctionnent visiblement plus. Il faut utiliser les .user.ini
Mais problème dans les .user.ini on ne peut mettre que des instructions PHP_INI_PERDIR ou en PHP_INI_ALL donc file_uploads=off ne fonctionne pas.

Donc peut-on dans un pool mettre php_admin_flag[file_uploads]= off pour un dossier en particulier ?
Je ne vois pas comment faire sinon.

Merci,

Eric

Bonjour,
Et bien, justement dans le fichier ‘pool’ correspondant à ton domaine !
En fin de fichier, tu peux y ajouter toutes les déclarations nommées :

  • php_admin_flag
  • php_admin_value
  • php_flag
  • php_value
    dont tu as besoin ; elles surpasseront toutes les autres déclarations générales PHP-FPM, PHP.ini, et seulement pour le domaine en question … qui peuvent elles même être surchargés par la function ini_set() …

Par contre, veille à l’écriture correcte : php_admin_flag[file_uploads] = off
Et, vérifies bien que c’est bien ce drapeau ‘php_admin_flag’ qui doit gérer et non pas un des trois autres sus-cités … n’étant pas sûr de moi, sur ce coup, je ne l’affirmerai pas !

bonjour,

Oui je sais bien que le pool surcharge le php.ini pour le site considéré.
Mais moi par exemple, c’est un peu particulier .
Exemple:
voilà deux dossiers du site:
http: //site.com/dossier1/ et http: //site.com/dossier2/
Je ne veux pas donner les droits d’upload dans le dossier2 d’où mon problème.

J’ai un peu contourné en laissant file_uploads=on dans le php.ini
et en mettant dans le dossier2 un .user.ini qui contient:
upload_max_filesize = 1 post_max_size = 1

Sinon l’écriture php_admin_flag[file_uploads] = off est correcte pour le pool. J’ai testé

Eric