Comment vérifier .htaccess si PHP est activé?

Comment puis-je laisser le fichier .htaccess d’Apache vérifier si PHP est activé? J’ai essayé des choses comme et mais cela ne semble rien faire lorsque / désactive le module.

Je voudrais avoir un repli dans mon .htaccess qui refuse l’access de tous lorsque PHP est désactivé. Afin d’éviter les fuites de code PHP en texte brut.

Je veux faire quelque chose comme ça:

 # If PHP is not installed, deny all access to .php files to prevent PHP code leakage   order deny,allow deny from all   

En fin de compte, il vérifiera quelque chose comme if php7 AND php5 AND php4 are disabled, deny access . Des idées?

De plus, lorsque AllowOverride est None et que le fichier .htaccess ne fait rien. Quelles sont les options pour empêcher le code PHP de fuir en texte clair?

   Order Deny,Allow Deny from all   

Dans Apache 2.4

   Require all denied   

Dans Apache 2.4, il existe plusieurs nouvelles fonctionnalités utiles: define , ifdefine et if, else, ifelse .

Dans ce qui suit, nous pouvons refuser par défaut et activer uniquement si PHP_IS_ENABLED est défini.

  Define PHP_IS_ENABLED   Define PHP_IS_ENABLED  # ...   Require all denied   

Voici une solution pour vérifier avec plusieurs versions de PHP (par exemple “si php 5 ou php 7 est activé”) qui fonctionne en effet dans .htaccess .

Il nécessite Apache 2.4 avec le module mod_env (99% est activé sur votre hôte).

  SetEnv PHP_IS_ENABLED yes   SetEnv PHP_IS_ENABLED yes   ... your directives  

REDIRECT_PHP_IS_ENABLED est nécessaire pour rendre ce travail pour les requêtes redirigées en interne avec mod_rewrite.

Voici un raffinement de la réponse de cronfy pour .htaccess que j’utilise pour définir les directives PHP qui doivent être définies avant que les scripts ne s’exécutent, donc ne peut pas être défini dans le code (par exemple ini_set() ):

  SetEnv MOD_PHP 5   SetEnv MOD_PHP 7   php_value post_max_size 100M php_value upload_max_filesize 50M  

Ces directives doivent être synchronisées avec celles de .user.ini :

 post_max_size = 100M upload_max_filesize = 50M