Est-ce qu’avoir PHP gère toutes les requêtes HTTP pour les performances?

Quelle est la consommation de ressources pour toutes les requêtes HTTP traitées par un seul fichier PHP par rapport à la configuration normale dans laquelle Apache ne fait que servir la ressource (dans le cas des images, par exemple).

Le fichier PHP ne prendrait qu’une seule décision. Est-ce que l’actif est situé ici? Si ce n’est pas le cas, fournissez l’actif par défaut. Donc, il ne fait que lancer file_exists pour chaque requête HTTP.

Je suppose que je ne comprends pas exactement ce qui se passe chaque fois que PHP doit effectuer un traitement. Le serveur traite-t-il simplement ce bit de code à chaque fois? Ou est-ce que le serveur déclenche tout un tas de processus quand PHP est nécessaire plutôt que de simplement servir une image normalement.

Eh bien, puisque vous exécutez un script, il n’est certainement pas aussi performant que l’utilisation de certaines méthodes intégrées à Apache, par exemple ModRewrite .

Vous pouvez facilement redirect tout ce qui n’existe pas à l’aide du fichier .htaccess suivant:

 RewriteCond %{REQUEST_FILENAME} !-d [OR] RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-l RewriteRule (.*) my-script.php 

Apache fournira donc l’actif concerné s’il existe à l’URI demandé, ou redirecta l’utilisateur / navigateur / source vers my-script.php si ce n’est pas le cas.