2009-12-19 13 views
3

J'ai une page PHP qui obtient son contenu en faisant une requête HTTP à un autre site sur le même serveur, en utilisant file_get_contents. Les deux sites s'exécutent dans Apache 2 qui appelle PHP en utilisant suPHP (qui est FastCGI, non?)Demande Apache interne à l'en-tête de script PHP

Quelle est l'importance de la surcharge de cet appel? Apache fait-il beaucoup de traitement avant d'envoyer une requête à PHP?

Une autre façon de faire l'appel serait pour le premier site à exec('php /the/other/script.php some parameters'). Est-ce que cela serait plus rapide, ou est-ce que le processus de génération d'un processus est plus important que celui d'Apache?

Répondre

1

La surcharge d'Apache dépendra de ce qui est configuré pour cet hôte de site, par exemple https, htaccess checks, rewriting, etc. Ces choses peuvent s'accumuler. Maintenant, je ne pense pas qu'il serait beaucoup plus difficile de comparer les frais généraux comparativement, mais vous allez avoir le temps qu'il faut pour générer la réponse qui, selon la nature des pages externes, pourrait être significative dans certaines situations. Cela dit, je ne vois pas nessecarily un problème avec les appels via apache. Mais je pense que, comme vous le suggérez, exposer le php directement serait mieux. Je pense que peut-être que la lecture de la SOA en général pourrait vous aider à mieux comprendre comment mettre en œuvre au mieux.

0

L'installation de PHP en tant que cgi n'est pas simple, vous perdrez beaucoup de performance, car chaque fois que vous devez créer un nouveau processus pour cela. Donc la meilleure méthode est d'installer PHP comme un module apache

+0

Le choix de la connexion PHP (dans notre cas suPHP) n'est pas la question ici, mais merci quand même –