Αυτή η ενότητα περιέχει σημειώσεις και συμβουλές ειδικά για τον IIS (Microsoft Internet Information Server), συγκεκριμένα για τον PWS/IIS 3, PWS 4 ή νεότερες και IIS 4 ή νεότερες εκδόσεις.
Σημαντικό για χρήστες CGI: Διαβάστε το faq σχετικά με το cgi.force_redirect για σημαντικές λεπτομέρειες. Αυτό το directive απαιτείται να οριστεί σε 0.
Η προτεινόμενη μέθοδος για την ρύθμιση αυτών των server είναι να χρησιμοποιήσετε το αρχείο REG που συμπεριλαμβάνεται με την διανομή σας (pws-php4cgi.reg). Θα θέλετε να μορφοποιήσετε αυτό το αρχείο και να σιγουρευτείτε πως οι επεκτάσεις και οι κατάλογοι εγκατάστασης της PHP ταιριάζουν με τις ρυθμίσεις σας. Ή μπορείτε να ακολουθήσετε τα βήματα παρακάτω για να το κάνετε χειροκίνητα.
Προειδοποίηση |
Αυτά τα βήματα περιέχουν κατ' ευθείαν μορφοποίηση μέσω του Windows registry. Ένα λάθος εδώ και μπορεί το σύστημα σας να μείνει σε ασταθή κατάσταση. Προτείνουμε έντονα να κρατήσετε ένα αντίγραφο της registry σας. Η ομάδα ανάπτυξης της PHP δεν θα θεωρείται υπεύθυνη αν καταστρέψετε την registry σας. |
Τρέξτε το Regedit.
Πηγαίνετε στο: HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.
Στο edit menu επιλέξτε:New->String Value.
Γράψτε την επέκταση που θέλετε να χρησιμοποιήσετε για τα php scripts σας. Για παράδειγμα .php
Κάντε διπλό κλικ στο new string value εισάγετε το path για το php.exe μέσα στο πεδίο. π.χ.: c:\php\php.exe.
Επαναλάβετε αυτά τα βήματα για κάθε επέκταση που θέλετε να συνδυάσετε με τα PHP script σας.
Τα ακόλουθα βήματα δεν επιρεάζουν την εγκατάσταση του web server και ισχύουν μόνο αν τα php script σας θα εκτελούνται από το command line (π.χ. τρέχοντας c:\myscripts\test.php) ή κάνοντας διπλό κλικ πάνω τους σε ένα παράθυρο εμφάνισης καταλόγου. Μπορεί να θέλετε να τα παραλείψετε αν προτιμάτε τα PHP αρχεία σας να φορτώνονται σε ένα text editor όταν κάνετε διπλό κλικ πάνω τους.
Πηγαίνετε στο: HKEY_CLASSES_ROOT
Στο edit menu επιλέξτε: New->Key.
Ονομάστε το κλειδί με την επέκταση που έχετε ορίσει στην προηγούμενη ενότητα. π.χ.: .php
Κάντε highlight το νέο κλειδί και στο δεξί side pane, κάντε διπλό κλικ στο "default value" και γράψτε phpfile.
Επαναλάβετε το τελευταίο βήμα για κάθε επέκταση που έχετε ορίσει στην προηγούμενη ενότητα
Τώρα δημιουργήστε ακόμη ένα New->Key στο HKEY_CLASSES_ROOT και ονομάστε το phpfile.
Κάντε highlight το νέο κλειδί και στο δεξί side pane, κάντε διπλό κλικ στο "default value" και γράψτε PHP script.
Κάντε δεξί κλικ στο phpfile key και επιλέξτε New->Key και ονομάστε το Shell.
Κάντε δεξί κλικ στο Shell key και επιλέξτε New->Key και ονομάστε το open.
Κάντε δεξί κουμπί στο open key και επιλέξτε New->Key και ονομάστε το command.
Κάντε highlight στο νέο κλειδί command και στο δεξιά side pane, κάντε διπλό κλικ στο "default value" και γράψτε το path στο php.exe. π.χ.: c:\php\php.exe -q %1. (μην ξεχάσετε το %1).
Βγείτε από το Regedit.
Αν χρησιμοποιείτε PWS στα Windows, κάντε reboot και ξαναφορτώστε το registry.
Οι χρήστες των PWS και IIS 3 τώρα έχουν ένα πλήρες λειτουργήσιμο σύστημα. Οι χρήστες του IIS 3 μπορούν να χρησιμοποιούν ένα κομψό εργαλείο από τον Steven Genusa για να ρυθμίζουν τα script maps τους.
Όταν εγκαθιστάτε την PHP στα Windows με το PWS 4 ή νεότερη έκδοση, έχετε δύο επιλογές. Η μία είναι να ρυθμίσετε το PHP CGI binary, η άλλη να χρησιμοποιήσετε την ISAPI module DLL βιβλιοθήκη.
Αν επιλέξετε το CGI binary, κάντε τα ακόλουθα:
Κάντε edit το αρχείο pws-php4cgi.reg (κοιτάξτε μέσα στον κατάλογο SAPI) για να αντανακλά την τοποθεσία του php.exe αρχείου. Τα backslashes πρέπει να γίνονται escape, για παράδειγμα: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\php.exe" Τώρα ενώστε αυτό το αρχείο registry στο σύστημα σας κάνοντας διπλό κλικ πάνω του.
Μέσα στο PWS Manager, κάντε διπλό κλικ σε ένα directory που θέλετε να προσθέσετε υποστήριξη PHP και επιλέξτε Properties. Επιλέξτε το 'Execute' checkbox και επιβεβαιώστε.
Αν επιλέξετε το ISAPI module, κάντε τα ακόλουθα:
Κάντε edit το pws-php4isapi.reg αρχείο (κοιτάξτε στον κατάλογο SAPI) για να αντανακλά την τοποθεσία του αρχείου php4isapi.dll. Τα backslash πρέπει να γίνονται escape, για παράδειγμα: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll" Τώρα ενώστε αυτό το αρχείο registry στο σύστημα σας κάνοντας διπλό κλικ πάνω του.
Μέσα στο PWS Manager, κάντε διπλό κλικ σε ένα δεδομένο directory που θέλετε να προσθέσετε υποστήριξη PHP, και επιλέξτε Properties. Ελέγξτε το 'Execute' checkbox και επιβεβαιώστε.
Για να εγκαταστήσετε την PHP σε ένα NT/2000/XP Server που τρέχει IIS 4 ή νεότερο, ακολουθήστε αυτές τις οδηγίες. Έχετε δύο επιλογές για να ρυθμίσετε την PHP, χρησιμοποιώντας το CGI binary (php.exe) ή με το ISAPI module.
Σε κάθε περίπτωση, πρέπει να ξεκινήσετε το Microsoft Management Console (μπορεί να εμφανίζεται ως 'Internet Services Manager', είτε μέσα στο Windows NT 4.0 Option Pack branch ή στο Control Panel=>Administrative Tools στα Windows 2000/XP). Τότε κάντε δεξί κλικ στο Web server node σας (αυτό πιθανώς να εμφανίζεται ως 'Default Web Server'), και επιλέξτε 'Properties'.
Αν θέλετε να χρησιμοποιήσετε το CGI binary, κάντε τα ακόλουθα:
Στο 'Home Directory', 'Virtual Directory', ή 'Directory', κάντε κλικ στο κουμπί 'Configuration', και τότε εισάγετε το App Mappings tab.
Επιλέξτε Add, και στο κουτί Executable, πληκτρολογήστε: c:\php\php.exe (υποθέτοντας πως έχετε κάνει unzip την PHP στο c:\php\).
Στο κουτί Extension (επέκταση), γράψτε την επέκταση που θέλετε να κάνετε associate (συνδυάσετε) με τα PHP scripts. Αφήστε το 'Method exclusions' κενό και επιλέξτε το Script engine checkbox. Μπορείτε επίσης να επιλέξετε το 'check that file exists' κουτί - για μια μικρή ποινή απόδοσης ο IIS (ή ο PWS) θα ελέγξουν ότι το script αρχείο υπάρχει και θα τακτοποιήσουν το authentication πριν ξεκινήσουν την php. Αυτό σημαίνει πως θα παίρνετε λογικά μηνύματα σφαλμάτων του στυλ του 404 αντί σφάλματα που παραπονιούνται πως η php δεν είχε δεδομένα στην έξοδο της.
Πρέπει να ξαναρχίσετε από το προηγούμενο βήμα για κάθε επέκταση που θέλετε να την συνδυάσετε με τα PHP script. Τα .php και .phtml είναι συχνά, αν και το .php3 μπορεί να χρειάζεται για παλιές εφαρμογές.
Ορίστε την απαραίτητη ασφάλεια. (Αυτό γίνεται στο Internet Service Manager), και αν ο NT Server σας χρησιμοποιεί NTFS file system, προσθέστε δικαιώματα εκτέλεσης στον I_USR_ στον κατάλογο που περιέχει php.exe.
Για να χρησιμοποιήσετε το ISAPI module, κάντε τα ακόλουθα:
Αν δεν θέλετε να πραγματοποιείτε HTTP Authentication με την PHP, μπορείτε (και θα πρέπει) να παραλείψετε αυτό το βήμα. Κάτω από τα ISAPI Filters (φίλτρα), προσθέστε ένα νέο φίλτρο ISAPI. Χρησιμοποιήστε την PHP σαν όνομα φίλτρου και ορίστε ένα path στο php4isapi.dll.
Κάτω από το 'Home Directory', κάντε κλικ στο κουμπί 'Configuration'. Προσθέστε μια νέα καταχώρηση στο Application Mappings. Χρησιμοποιήστε το path στο php4isapi.dll σαν Executable, ορίστε το .php για την επέκταση, αφήστε το Method exclusions κενό και επιλέξτε το Script engine checkbox.
Σταματήστε τελείως τον IIS (NET STOP iisadmin)
Ξεκινήστε ξανά τον IIS (NET START w3svc)