PHP מספקת מספר גדול של משתנים "מוגדרים מראש" לכל סקריפט שהיא מריצה. חלק ממשתנים אלה לא מתועדים באופן מלא כי הם תלויים בשרת, בגרסתו, בהגדרותיו ובגורמים נוספים. חלק ממשתנים אלה לא יהיו זמנים כאשר סקריפט PHP מורץ משורת הפקודה.
למרות גורמים אלה, לפניכם רשימה של משתנים מוגדרים מראש הזמינים בהתקנה רגילה של PHP בגרסה 3 כמודול של שרת Apache 1.3.6.
לקבלת רשימה מלאה של כל המוגדרים מראש הזמינים לשימוש (והמון מידע שימושי נוסף), יש לעיין ולהשתמש בפונקציה phpinfo().
הערה: רשימה זו אינה מלאה ואינה מתיימרת להיות כזו. זו רשימה שמטרתה לספק קוים-מנחים לסוג המשתנים המוגדרים מראש שניתן לצפות כי יהיו זמינים בעת הרצת סקריפט.
משתנים אלו מוגדרים על-ידי שרת Apache. בעת הפעלת שרת מסוג זה יתכן שחלק ממשתנים אלו לא מוגדרים ויתכן שיוגדרו משתנים אחרים שאינם רשומים פה. רוב המשתנים מפורטים במפרט CGI 1.1 וסביר שיהיו זמינים לשימוש.
יש לציין כי כל המשתנים האלה לא יהיו מוגדרים בהרצת סקריפט PHP משורת הפקודה.
גרסת ה-CGI שהשרת תומך בה. (בדרך-כלל 'CGI/1.1' ).
שם ה-host שתחתיו רץ הסקריפט הנוכחי. אם הסקריפט רץ תחת host וירטואלי, משתנה זה יכיל את שם ה-host הוירטואלי.
מחרוזת הזיהוי של השרת שמועברת בכותרים (headers) בעת משוב לפניות (requests).
שם וגרסת הפרוטוקול לקבלת הפניות. (בדרך-כלל 'HTTP/1.0' )
סוג השיטה שבעזרתה התבצעה פנייה לשרת. יכיל מחרוזת כגון: 'GET','HEAD', 'POST', 'PUT'.
מחרוזת הפנייה (query string) שדרכה התבצעה גישה לעמוד.
הספריה הראשית שתחתיה רץ הסקריפט הנוכחי לפי הגדרות השרת.
תכולת כותר ה-Accept: בפנייה הנוכחית, אם קיים כותר כזה.
תכולת כותר ה-Accept-Charset: בפנייה הנוכחית, אם קיים כותר כזה. לדוגמה: 'iso-8859-1,*,utf-8'.
תכולת כותר ה-Accept-Encoding: בפנייה הנוכחית, אם קיים כותר כזה. לדוגמה: 'gzip'.
תכולת כותר ה-Accept-Language: בפנייה הנוכחית, אם קיים כותר כזה. לדוגמה: 'en'.
תכולת כותר ה-Connection: בפנייה הנוכחית, אם קיים כותר כזה. לדוגמה: 'Keep-Alive'.
תכולת כותר ה-Host: בפנייה הנוכחית, אם קיים כותר כזה.
כתובתו של העמוד (אם קיים) שהפנה את הדפדפן לעמוד הנוכחי. משתנה זה נקבע על-ידי דפדפן המשתמש. לא כל הדפדפנים תומכים באפשרות זו.
תכולת כותר ה-User_Agent: בפנייה הנוכחית, אם קיים כותר כזה. מכיל מחרוזת המצהירה סוג הדפדפן המשמש לצפייה בעמוד הנוכחי. כגון:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). ניתן להשתמש בערך זה ובערך הפונקציה get_browser() כדי לאפשר בנייה של העמוד תוך התחשבות ביכולתו וסוגו של הדפדפן.
כתובת ה- IP שממנה המשתמש צופה בעמוד הנוכחי.
ה-port שדרכו מתקשר מחשבו של המשתמש עם השרת.
שם הנתיב (pathname) האבסולוטי שבו מורץ הסקריפט הנוכחי.
הערך המועבר לאופציית ה-SERVER_ADMIN של שרת Apache בקובץ ההגדרות של השרת. אם הסקריפט רץ תחת host וירטואלי, משתנה זה יוגדר ל-host וירטואלי זה.
מספר ה-port המשמש לתקשורת של השרת. הרירת המחדל היא 80. כאשר משתמשים ב-SSL למשל, מספר זה ישתנה לפי ה-port שהוגדר כ-secure HTTP port .
מחרוזת המכילה את גרסת השרת ושם ה-host הוירטואלי. המחרוזת תצורף לדפים הנוצרים על-ידי השרת אם אופציה זו מאופשרת.
נתיב מבוסס לפי מערכת הקבצים של הסקריפט הנוכחי (זה לא document root של הסקריפט) לאחר שבוצע מיפוי וירטואלי לריאלי.
מכיל את נתיב הסקריפט הנוכחי. שימושי לעמודים שמצביעים לעצמם.
כתובת ה-URI המשמשת לגישה לעמוד הנוכחי. לדוגמה: /index.html'.
משתנים אלו מיובאים מהסביבה שתחתיה רץ מפרש ה-PHP לתוך משתנים גלובלים בסקריפט. רבים מהם מיובאים מתוכניות המעטפת (shell) שתחתיה רצה PHP וכאשר משתמשים ב-PHP במערכות שונות ובתוכניות מעטפת שונות, לא ניתן לתעד רשימה אחידה של משתנים אלו. יש לעיין בתיעוד תוכנת המעטפת לקבלת רשימה של משתני הסביבה.
משתני סביבה אחדים יכללו את משתני ה-CGI הממוקמים שם כאשר PHP רצה כמודול שרת וגם כאשר PHP רצה כמעבד CGI.
משתנים אלו נוצרים על-ידי PHP. כל המשתנים בצורת $HTTP_*_VARS יהיו זמינים רק אם האופציה track_vars מאופשרת. כאשר אופציה זו מאופשרת, משתנים אלו תמידיוגדרו, אפילו אם יוגדרו כמערכים ריקים כדי למנוע ממשתמש בעל כוונת זדון לשנות את ערכם.
הערה: החל מגרסה 4.0.3 של PHP האופציה track_vars תמיד פעילה ללא התחשבות בהגדרתה בקובץ ההגדרות של PHP.
הערה: נוספו משתנים "סופר-גלובלים" חדשים מגרסה 4.1.0 . יש לעיין בהכרזה של PHP 4.1.0 למידע נוסף. המשתנים החדשים $_GET, $_POST, $_ENV, $_SERVER, $_COOKIE, $_REQUEST $_FILES, and $_SESSION הם מערכים שמוגדרים כ"סופר-גלובלים" מאחר שהם זמינים תמיד ללא תלות בטווח הגדרת הנתונים (scope). משתנים אלו מחליפים את מערכי ה-$HTTP_*_VARS שהיו בעבר בשימוש.
אם אופציית register_globals מאופשרת, יהיו משתנים אלו זמינים גם כן בטווח המשתנים הגלובלים בנפרד ממערכי ה-$HTTP_*_VARS הו-$_*. למידע נוסף, יש לעיין בפרק אבטחת המידע שכותרתו אופן השימוש ברישום גלובלים.
מערך המכיל את רשימת הארגומנטים המועברים לסקריפט. בעת הרצת סקריפט משורת הפקודה, מערך זה מאפשר גישה בסגנון שפת C לפרמטרים משורת הפקודה. כאשר עמוד מקבל פנייה בשיטת GET , משתנה זה יכיל את ה-query string.
מכיל את מספר הפרמטרים המועברים באמצעות שורת הפקודה לסקריפט (אם הסקריפט מורץ משורת הפקודה).
שם הקובץ של הסקריפט הנוכחי, יחסית לספרייה הראשית של העמוד. אם PHP מורצת בשורת הפקודה, משתנה זה אינו זמין.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך עוגיות HTTP.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך עוגיות HTTP. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך שיטת HTTP GET.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך שיטת HTTP GET. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך שיטת HTTP POST.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי דרך שיטת HTTP POST. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי של משתנים המכילים מידע על קבצים שהועלו לשרת בשיטת HTTP POST. יש לעיין בהעלאת קבצים בשיטת POST למידע על תכולתו של $HTTP_POST_FILES. נוסף ל-PHP החל מגרסה 4.0.0.
מערך אסוציאטיבי של משתנים המכילים מידע על קבצים שהועלו לשרת בשיטת HTTP POST. יש לעיין בהעלאת קבצים בשיטת POST למידע על תכולתו של $_FILES. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי מסביבת האב.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי מסביבת האב. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי מהשרת. ערכים אלו מקבילים למשתני שרת Apache המתוארים למעלה.
מערך אסוציאטיבי של המשתנים המועברים לסקריפט הנוכחי מהשרת. ערכים אלו מקבילים למשתני שרת Apache המתוארים למעלה. משתנה זה מוגדר בכל טווח משתנים כלשהו. נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי המכיל את משתני ה-session המועברים לסקריפט הנוכחי.
מערך אסוציאטיבי המכיל את משתני ה-session המועברים לסקריפט הנוכחי. משתנה זה מוגדר בכל טווח משתנים כלשהו. יצירת תאים חדשים במערך זה תגרום לרישום אוטומטי של נתונים אלו כמשתני session בדומה לפעולה המתבצעת בעת קריאה לפונקציה session_register(). נוסף ל-PHP החל מגרסה 4.1.0 .
מערך אסוציאטיבי הממזג את כל המידע ממשתני GET, POST ו-Cookie . במילים אחרות, הוא מכיל את כל המידע המגיע מהמשתמש ומבחינת אבטחת מידע אינו מומלץ לשימוש כי לא ניתן לבטוח במידע זה. נוסף ל-PHP החל מגרסה 4.1.0 .