Η PHP παρέχει έναν μεγάλο αριθμό από προκαθορισμένες μεταβλητές σε οποιοδήποτε script τρέχει. Αρκετές από αυτές τις μεταβλητές πάντως, δεν μπορούν να τεκμηριωθούν εντελώς αφού εξαρτώνται από τον server στον οποίο τρέχουν, την έκδοση και το setup του server, καθώς και από άλλους παράγοντες. Μερικές από αυτές τις μεταβλητές δε θα είναι διαθέσιμες όταν η PHP τρέχει σε command line. Για μια λίστα αυτών των μεταβλητών, παρακαλώ δείτε το τμήμα Δεσμευμένες προκαθορισμένες μεταβλητές.
Στην PHP 4.2.0 και μετά, η προκαθορισμένη τιμή για την ντιρεκτίβα της PHP register_globals είναι off. Αυτή είναι μια σημαντική αλλαγή για την PHP. Έχοντας τις register_globals off επηρεάζεται το σύνολο των προκαθορισμένων μεταβλητών που είναι διαθέσιμες σε global εμβέλεια. Για παράδειγμα για να πάρετε το DOCUMENT_ROOT θα χρησιμοποιήσετε την $_SERVER['DOCUMENT_ROOT'] αντί για την $DOCUMENT_ROOT, ή $_GET['id'] από το URL http://www.example.com/test.php?id=3 αντί για την $id, ή την $_ENV['HOME'] αντί για την $HOME.
Για πληροφορίες σχετικές μ'αυτή την αλλαγή, διαβάστε το configuration entry για register_globals, το κεφάλαιο για ασφάλεια Χρησιμοποιώντας Register Globals , καθώς επίσης και την PHP » 4.1.0 και » 4.2.0 Release Announcements.
Είναι προτιμότερο να χρησιμοποιείτε τις διαθέσιμες PHP Reserved Predefined Μεταβλητές, όπως την superglobal arrays.
Από την έκδοση 4.1.0 και μετά, η PHP παρέχει ένα επιπρόσθετο σύνολο από προκαθορισμένους arrays που περιέχουν μεταβλητές από τον web server (αν είναι δυνατό), το environment (περιβάλλον), και αυτά που εισάγει ο χρήστης. Αυτοί οι νέοι arrays είναι μάλλον ιδιαίτεροι από την άποψη ότι είναι αυτόματα global--π.χ., αυτόματα διαθέσιμοι για κάθε εμβέλεια. Γι'αυτό το σκοπό, είναι συχνά γνωστοί και ως 'autoglobals' ή 'superglobals'. (Δεν υπάρχει μηχανισμός στην PHP για superglobals που μπορεί να ορίσει ο χρήστης.) Οι superglobals παρατίθενται παρακάτω. Πάντως, για μια λίστα των περιεχομένων τους και περεταίρω συζήτηση πάνω στις προκαθορισμένες μεταβλητές της PHP και στη φύση τους, παρακαλώ δείτε το τμήμα Δεσμευμένες προκαθορισμένες μεταβλητές. Επίσης, θα παρατηρήσετε πώς οι παλιότερες προκαθορισμένες μεταβλητές ($HTTP_*_VARS) υπάρχουν ακόμη. Από την PHP 5.0.0, τα μεγάλα προκαθορισμένα σταθερά array μπορούν να απενεργοποιηθούν με το register_long_arrays directive.
Note: Μεταβλητές μεταβλητών Οι superglobals δεν μπορούν να χρησιμοποιηθούν ως μεταβλητές μεταβλητών.
Αν μια συγκεκριμένη μεταβλητή στην variables_order δεν έχει οριστεί, οι κατάλληλοι προκαθορισμένοι arrays της PHP μένουν κενοί.
Από την PHP 4.3.0, η πληροφορία για την FILE από την $_FILES δεν υπάρχει πια στην $_REQUEST.
Note: Όταν τρέχουμε σε command line , αυτό δεν θα συμπεριλάβει την argv και την argc εισόδους. Αυτές είναι παρούσες στον $_SERVER πίνακα.