36 votes

"Comment la saucisse est faite" tour de apache/php/mysql interaction

J'ai du mal à comprendre comment apache/php/mysql pile fonctionne sur un niveau bas (y compris l'interaction avec le navigateur). Est-il une bonne description quelque part (un livre, un site web, etc) qui va me guider à travers le chemin d'accès complet et en expliquant comment démarrer avec un navigateur reqesting une url, les requêtes http sont envoyés, combien de apache parle de php, comment php parle à mysql (persistant et non-persistant connexions), etc, etc. Je veux comprendre ce qui les attend ce qui, dans cette chaîne, où les délais d'attente sont gérées, combien de temps les sockets sont ouverts et fermés. Un livre, un article peut-être? Il y a beaucoup de documentation sur chacun des composants, mais je ne peux pas trouver un "aperçu".

Les explications je se sont jusqu'à présent très haut niveau: regardez, voici une vache heureuse, elle va à l'Université, regardez - tout est emballé sous plastique sur l'étagère de supermarché. Ce dont j'ai besoin est la saucisse à la ferme/abattoir/camion/visite d'usine, en commençant par vache insemenation :)

[mise à jour] À ce jour, je n'ai pas trouvé un meilleur moyen d'apprendre au sujet de ces choses autres que la lecture de la source.

6voto

UltimateBrent Points 6167

PHP et MySQL par exemple a une jolie image de base de la démarche, je pense que vous avez probablement déjà à comprendre.

Devient de plus en profondeur que cette image est bien une assez longue discussion. Ironie du sort, vous pouvez lire le livre que j'ai un lien pour une assez bonne description. Si vous avez des questions plus précises, je vous recommande l'ouverture de nouvelles questions pour eux. Profitez-en!

3voto

ken Points 1925

J'ai trouvé un site qui a, au moins en partie, le contenu de l'ouvrage Avancé de Programmation PHP par George Schlossnagle.

Le site est situé à: http://php.find-info.ru/php/016/toc.html. Plus précisément, la section sur Les requêtes PHP Cycle de Vie contient beaucoup de les moindres détails, y compris du code source et des diagrammes.

AVERTISSEMENT: IANAL, mais étant donné que le livre est toujours listé sur Amazon, il est possible que le contenu lié ci-dessus pauses toutes sortes de codes, de règles et/ou des lois. Sa n'est pas mon intention de proliférer ou de cautionner illégale ou piratés, donc si c'est le cas, veuillez supprimer ces liens.

1voto

Le meilleur plan d'action serait d'obtenir un bon livre sur la pile LAMP.

Une réponse rapide (en demander plus si vous vous sentez que vous en avez besoin) Contacts de navigateur serveur web si le protocole HTTP Le serveur génère (laissons pour l'instant) html résultat et les messages de retour. Chaque navigateur comprend uniquement le protocole http (pour les fins de la présente analyse).

Maintenant, les éléments tels que les icônes, les images, javascript, etc, sont juste lire le serveur apache et "copié" dans le navigateur. Même dans la plaine de fichiers html. La différence est dans les fichiers php (je suis trop simplifier ici). Elles sont transmises à l'php du module et de la réponse (du module) seront envoyées au navigateur.

Le module php est ce que comprend le php. Sommes-nous ici? si oui, alors: Script Php peut (ou ne peut) requièrent des données à partir d'un serveur MySQL, il a pour connecter les obtenir ou de les manipuler etc.

Résumant: Chacune de ces opérations est réalisé individuellement dans un processus différent niveau. C'est ce que fait "simple". Demander plus d'information si vous voulez quelque chose de plus spécifique.

0voto

scragar Points 4324

Autant je comprends qu'elle apache reçoit la demande, et travaille de quoi faire avec elle en fonction de votre .htaccess ou les options de configuration. Puis, il transmet cette demande à PHP pour l'analyse, si nécessaire. PHP fait deux scans du code, la première est la pré-analyse, ce ramasse défauts évidents et exécute les fonctions sur le niveau supérieur(en ignorant tout dans si les déclarations, les boucles, comprend, est évaluée comme ou lamda fonctions), avant l'analyse de la page pour de vrai. Tout ce qui est fait avec de l'écho, je crois, est retourné en tant que standard d'un ruisseau, et est retourné à apache. Si apache fois la page, il envoie le signal kill pour PHP, qui ferme les objets, imprime les messages d'erreur, si nécessaire, avant de quitter. Une fois la page des sorties apache tend à les en-têtes et renvoie la page.

J'aimerais en savoir plus sur ce bien, donc si quelqu'un peut l'expliquer mieux ou a une correction/expansion sur de ma réponse, j'en serais ravi de l'entendre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X