2. PHP 5.x Installation & Configuration
Λίγα λόγια πριν ξεκινήσουμε. Τα βήματα που θα περιγράψω παρακάτω είναι για την PHP version 5.x και ΟΧΙ για την 4.x. Με λίγη συγκέντρωση τα ίδια βήματα με 1-2 παραλλαγές θα μπορείτε να κάνετε load την version 4. Το structure και οι οδηγίες που θα δώσω παρακάτω είναι σημαντικό να τις ακολουθήσετε πιστά αν θέλετε:
- να μπορείτε να κάνετε install new version της php (αλλά πάντα από την ίδια major version, δηλαδή 5.x) χωρίς μεγάλη δυσκολία.
- να μην χρειάζεται κάθε φορά να κάνετε copy paste διάφορα php dll's στο system32
- να μπορείτε μελλοντικά να έχετε εγκατεστημένη και την 4.x version άμα χρειαστεί για κάποιο λόγο και αλλάζοντας 2 γραμμές στο configuration του Apache να την κάνετε load αντί της 5.x
a. Δημιουργία των απαραιτήτων folder
Θα χρειαστεί να δημιουργήσετε ένα folder το οποίο θα το αφήσετε ήσυχο με τα php files που θα εγκαταστήσετε. Εγώ έχω διαλέξει το εξής:
> C:\dev
Αυτό σημαίνει ότι από εδώ και πέρα στα configuration files της php θα έχω υπόψην το παραπάνω php root directory το οποίο δημιούργησα.
b. Download της PHP 5.x
Στην εξής σελίδα θα κατεβάσετε το PHP 5.x.x ZIP PACKAGE ( KAI OXI INSTALLER ) από τα Windows Binaries:
http://www.php.net/downloads.php#v5
Direct Link για PHP 5.2.1 zip package:
http://www.php.net/get/php-5.2.1-Win32.zip/from/a/mirror
c. Extract των contents του zip
Αφού κατεβάσετε το zip package κάντε extract τα contents του στο C:\dev
Το extraction θα δημιουργήσει ένα folder με το όνομα php-5.x.x-Win32 οπότε εσείς να το κάνετε rename σε php. Aυτό σημαίνει πώς το τελικό path των files της php θα είναι το εξής:
> C:\dev\php
d. Επιλογή php.ini
Πηγαίνοντας μέσα στο folder της php που φτιάξατε θα βρείτε ένα αρχείο με το εξής όνομα:
> php-ini-recommend
Kάντε το rename σε:
> php.ini
και μετά ανοίξτε το με τον αγαπημένο σας editor (και με το notepad μια χαρά θα κάνουμε την δουλειά μας).
Βρείτε την εξής γραμμή:
> extension_dir = "./"
και αλλάξτε την σε
> extension_dir = "./ext"
Το folder αυτό, είναι το folder το οποίο έχει όλα τα extensions, δηλαδή τα διάφορα php modules που κάνουνε διαφορετικές δουλειές. Μπορείτε να πάτε στο
> C:\dev\php\ext
και να δείτε όλα τα modules τα οποία υπάρχουνε. Μόλίς είπαμε στην PHP πού θα τα βρίσκει. Τώρα πρέπει να πούμε στην PHP ποιά θέλουμε να κάνει load για να μπορούμε να τα χρησιμοποιήσουμε. Εδώ θα πρέπει να αναρωτηθείτε με τι θέλετε ακριβώς να ασχοληθείτε. Μπορείτε βέβαια για testing σκοπούς να τα ενεργοποιήσετε όλα και αν δεν είστε σίγουρος για το τι χρειάζονται τα php scripts που θα τρέξετε. Για να ενεργοποιήσετε κάποιο module, στο php.ini σας βρείτε την εξής γραμμή:
> ; Windows Extensions
Κάτω από αυτό θα δείτε μια λίστα που θα μοιάζει έτσι:
> ;extension=php_msql.dll ;extension=php_mysql.dll ;extension=php_mysqli.dl
Το Ελληνικό ερωτηματικό μπροστά από το module σημαίνει ότι είναι σε comment αυτή η γραμμή και το module δεν θα γίνει load. Δεν έχετε παρά να βγάλετε το ερωτηματικό μπροστά από τα modules τα οποία θέλετε να ενεργοποιήσετε άρα τα παραπάνω modules για να ενεργοποιηθούνε θα πρέπει να γίνουν έτσι:
> extension=php_msql.dll extension=php_mysql.dll extension=php_mysqli.dl
Από το php.ini δεν θα χρειαστείτε τίποτα άλλο ώστε να κάνετε όλο αυτό να λειτουργήσει. Αργότερα όταν βρείτε τι ανάγκες έχετε μπορείτε να το επισκεφτείτε ξανά και να διαβάσετε προσεκτικά τα comments και τα options τα οποία έχετε στην διάθεσή σας.
e. Adding PHP path to Windows Enviroment Variables
Με αυτό το βήμα λέμε στo λειτουργικό που μπορεί να κοιτάξει μέσα στο σύστημα ώστε να βρεί τα dll τα οποία θα χρειαστεί καθώς και ο Apache ώστε να φορτωθεί η PHP. Για τους λόγους που ανέφερα στην αρχή (easy maintenance/update) δεν κάνουμε copy τα απαραίτητα dll στο windows\system32\ και κάθε φορά να χρειάζεται να μας απασχολεί αυτό. Επίσης θα μπορείτε από command prompt να χρησιμοποιείτε κατευθείαν την php ώστε να κάνετε execute κάποιο script γράφοντας απλά
C:\php
και όχι να χρειάζεται να πηγαίνετε στο folder το οποίο είναι εγκατεστημένη η PHP.
α. Δεξί κλικ στο “My Computer” -> “Properties” -> Επιλέξτε την καρτέλα “Advanced”
Κλικ εκεί που λέει “Enviroment Variables” και θα σας εμφανιστεί ο παρακάτω διάλογος:
Στην λίστα με το όνομα “System Variables” κάντε scroll down μέχρι να βρείτε το Variable με το όνομα “Path”.
Αφού το βρείτε πατήστε το κουμπί “Edit” και θα δείτε τον παρακάτω διάλογο:
Στο κουτάκι που λέει “Variable Value” προσθέστε στο τέλος το εξής
> ;C:\dev\php\
Πατήστε ΟΚ και είστε έτοιμοι. Το manual βέβαια λέει από την στιγμή που προσθέσεις ένα PATH variable είναι έτοιμο να το χρησιμοποιήσετε (δηλαδή τα windows να ψάχνουνε και μέσα σε αυτό αυτομάτως) αλλά έχω δει περιπτώσεις που χρειάστηκε Logout πρώτα και περιπτώσεις που χρειάστηκε restart οπότε κάντε ένα restart για να είμαστε σίγουροι ότι έγινε load το καινούριο path variable.
6. Configuration του Apache HTTP Server για να κάνει load την PHP
Κάντε Stop τον Apache. Πολύ εύκολα μπορεί να γίνει από το Apache Monitor που είδαμε πιο πριν. Τώρα θα χρειαστεί να κάνουμε μια μικρή προσθήκη στο httpd.conf το οποίο είναι το configuration file του Apache.
Μπορείτε να το ανοίξετε από το Start Menu πηγαίνοντας εδώ:
Start -> Programs -> Apache HTTP Server 2.x.x -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File
Από ότι θα δείτε το configuration file ένα απλό text file είναι στο οποίο ΣΤΟ ΤΕΛΟΣ ΤΟΥ θα προσθέσετε το εξής:
> LoadModule php5_module c:/dev/php/php5apache2_2.dll PHPIniDir "c:/dev/php/" AddType application/x-httpd-php .php
Οι 3 αυτές γραμμές λένε στον Apache
«Φόρτωσε την PHP χρησιμοποιώντας το εξής core dll και κάντην configure βάση του php.ini που θα βρείς στο εξής directory. Αφού πλέον ξέρεις από PHP ξέρεις ότι και τα αρχεία που καταλήγουν σε .php ανοίγουν με αυτή»
Υπενθυμίζω ότι, για να χρησιμοποιήσετε τα παραπάνω paths θα πρέπει να έχετε χρησιμοποιήσει αυτά που έχω εγώ ως παράδειγμα στο guide. Άμα έχετε αλλάξει κάποιο folder name τότε να σιγουρευτείτε ότι έχετε βάλει το ίδιο και εδώ.
Κάτι που θα το έχετε μάλλον απορία είναι πώς θα πείτε στον Apache να φορτώνει από default το index.php όπως κάνει για το index.html κτλ. Δεν έχετε παρά να βρείτε στο httpd.conf την εξής γραμμή:
> DirectoryIndex index.html
και να την αλλάξετε σε
> DirectoryIndex index.html index.php
Τέλος, θα ήθελα να προσέξετε το php5apache2_2.dll. To DLL αυτό είναι ΜΟΝΟ για την 2.2.x version του Apache. ΣΕ ΠΕΡΙΠΤΩΣΗ που κάποιος ο οποίος έχει ήδη εγκατεστημένο τον 2.0.59, θα πρέπει να κάνει load το php5apache2.dll
f. Testing if this thing works
Ανοίξτε το Apache Monitor και κάντε Start τον Server. Άμα όλα πήγαν καλά το Monitor πλέον θα δείχνει και την PHP Version η οποία έγινε Load με τον Apache όπως στην παρακάτω εικόνα:
7. Runing a phpinfo()
Άμα ο Apache κάνει load κανονικά την PHP θα πρέπει να δούμε άμα κάνει και σωστά execute τα php scripts. Ο κλασικός τρόπος για να δούμε αν όλα πήγαν καλά είναι να γράψουμε ένα script το οποίο καλεί την phpinfo function η οποία δείχνει όλο το configuration της PHP.
Με τον αγαπημένο σας editor γράψτε το εξής (AΦΑΙΡΕΣΤΕ ΟΛΑ ΤΑ UNDERSCORES! Απλώς το forum δεν επιτρέπει κώδικα οπότε χρειάστηκε να το γράψω έτσι)
> <?p_h_p phpinfo_()_; _?>
Κάντε το save ώς info.php και βάλτε το στο installation path του apache σας μέσα στο htdocs folder. Παράδειγμα, στο δικό μου μηχάνημα το full Path είναι:
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
Ανοίξτε τον αγαπημένο σας browser και γράψτε το εξής link:
Συγχαρητήρια! Η εγκατάσταση της PHP τελείωσε και τώρα βλέπετε όλο το configuration της PHP σας! Τα δύσκολα σχεδόν τελειώσαν.