انجمن ایران پی اچ پی
دیاگرام internals موتور PHP! - نسخه قابل چاپ

+- انجمن ایران پی اچ پی
+-- انجمن: پی اچ پی/PHP (https://forum.iranphp.org/Forum-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-PHP)
+--- انجمن: کدنویسی (https://forum.iranphp.org/Forum-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C)
--> +--- موضوع: دیاگرام internals موتور PHP!



دیاگرام internals موتور PHP! - Y.P.Y - ۱۳۹۶ مهر ۰۸

دیاگرام روند(internals) تفسیر، کامپایل و اجرای سورس های PHP:
برای بزرگنمایی کلیک کنید

[عکس: php-internals.jpg]

یکی از کاملترین و دقیق ترین دیاگرام PHP internals موجود در اینترنت Idea


RE: چارت internals موتور PHP! - farazsahebdel - ۱۳۹۶ مهر ۰۹

میشه توضیحاتی رو در مورد روند اجرای php بگید.


RE: چارت internals موتور PHP! - Y.P.Y - ۱۳۹۶ مهر ۰۹

تصویر رو با دقت بررسی کن


ابتدا کاربر توسط Browser یک آدرس وب رو اجرا میکنه: http://domain/somefile.php

درخواست اجرای اون آدرس وب به Web Server فرستاده میشه

Web Server اون آدرس درخواست شده رو پردازش و تکه تکه میکنه

Web Server نسبت به نوع فایل موجود در آدرس پردازش شده، Handler ش رو (در اینجا موتور PHP) فعال/اجرا میکنه

موتور PHP فایل مورد نظر(somefile.php) رو چک میکنه: آیا cache شده یا cache نه؟
- خیر، فایل موردنظر cache نشده: موتور PHP فایل موردنظر(somefile.php) رو باز میکنه، تفسیر میکنه(lexing)، تجزیه میکنه(parsing)، کامپایل میکنه(compiling)، کش(cache) میکنه و داده حاصل شده رو اجرا میکنه و نهایتاً خروجی رو به Web Server میفرسته و Web Server هم به Browser کاربر میفرسته.
- بله، فایل موردنظر cache شده: موتور PHP کش فایل موردنظر(somefile.php) رو load میکنه، بعد اجراش میکنه و نهایتاً خروجی رو به Web Server میفرسته و Web Server هم به Browser کاربر میفرسته.