Sommaire
Installation
Considérations générales sur l'installation
Installation sous UNIX
Installation sous Linux
Installation sous HP-UX
Installation sous Solaris
Installations Unix/OpenBSD
Installation sous Mac OS X
Liste complète des options de configuration
Installation sous Windows
Installation du serveur Apache
CGI/ Installation pour exécution en ligne de commande
Installation avec les serveurs fhttpd
Installation sur serveur Caudium
Installation avec les serveurs IIS/PWS
Installation sous Netscape et iPlanet Enterprise Serveur
Installation OmniHTTPd
Installation Oreilly Website Pro Server
Installation Xitami
Autres serveurs web
Des problèmes?
|
3.2.9 Installation sous Windows
Cette section s'applique aux systèmes Windows 95/98/Me et
Windows NT/2000/XP. (La configuration n'est actuellement pas confirmée
sous XP). Ne vous attendez pas à ce que PHP fonctionne sur les
plateformes 16 bits, comme Windows 3.1. Parfois, on décrira les
plateformes supportées sous le nom de Win32.
Il y a deux méthodes principales pour installer PHP sous Windows :
soit manuellement,
soit avec InstallShield.
Si vous avez Microsoft Visual Studio, vous pouvez aussi
compiler
PHP à partir des sources.
Une fois que PHP est installé sur votre Windows, vous pouvez aussi
ajouter diverses
extensions.
3.2.9.1 InstallShield sous Windows
L'installeur Windows de PHP disponible depuis les pages de
téléchargement, installe la version
CGI de PHP, et configure les serveurs web IIS, PWS, et Xitami.
Notez bien que bien que InstallShield soit une méthode simple
pour installer PHP, il est limité dans son fonctionnement, puisque
l'installation automatique des extensions n'est pas prise en compte.
Installez votre serveur HTTP favori sur votre
système et assurez-vous qu'il fonctionne.
Exécutez l'installeur et suivez les instructions fournies par le
wizard. Deux types d'installation sont fournis : standard, qui
utilise toutes les configurations par défaut les plus pratiques,
et avancée, qui pose un maximum de questions pour paramétrer
le plus finement.
Le wizard d'installation rassemble suffisamment d'informations pour
configurer php.ini
et le serveur web qui utilisera
PHP. Pour IIS, mais aussi PWS sous NT Workstation, une liste de l'arboresence
web est affichée, et vous pouvez sélectionner les dossiers
qui utiliseront PHP.
Une fois l'installation terminée, l'installeur vous informera que
vous devez redémarrer. Suivez ce conseil, ou commencez à
utiliser PHP immédiatement.
Attention |
Gardez bien à l'esprit que cette installation de PHP n'est pas
sécurisée. Si vous voulez avoir une installation sécurisée de PHP,
vous devriez commencer par lire la documentation, et choisir
toutes vos options avec soin. Cet installeur automatique vous
permet de réaliser l'installation en un tour de main, mais n'est
pas destinée à l'utilisation sur des serveurs de production.
|
3.2.9.2 Instructions Générales d'installation
Ce guide vous permet d'installer et de configurer manuellement
PHP sur vos stations Windows 9x/Me/NT/2000. La première version de ce
guide a été compilée par Undefined entity 'link.bob'.
La version originale est disponible (en anglais)
à http://www.umesd.k12.or.us/php/win32install.html.
Ce guide fournit une aide d'installation pour :
Personal Web Server (Version la plus récente recommandée)
Internet Information Server 3 ou 4
Apache 1.3.x
Omni HTTPd 2.0b1 et plus récent
Oreilly Website Pro
Xitami
Netscape Enterprise Server, iPlanet
PHP 4 pour Windows est décliné en deux versions : un exécutable
CGI (php.exe
), et plusieurs modules SAPI
(par exemple php4isapi.dll). Cette dernière forme est nouvelle
pour PHP 4 et founit des performances améliorées ainsi que des
fonctionnalités supplémentaires.
Notez cependant que les
modules SAPI ne sont pas considéré comme ayant
atteint une qualité de production. La raison à cela est que
les modules SAPI utilisent le système de thread sécurisé de
PHP, ce qui est nouveau en PHP 4, et qui n'a pas été testé et
torturé suffisamment pour être considérés comme stable.
Il y a encore
quelques bugs qui trainent. D'un autre côté, certains d'entre
vous ont rapporté des résultats significativement meilleurs avec
les modules SAPI, même si nous ne connaissons actuellement personne
qui le fasse fonctionner en production. En clair, faites votre choix :
soit vous avez absolument besoin de stabilité, et il vaut mieux
laisser les performances SAPI de côté; soit vous avez besoin de
performances, et alors c'est l'occasion de tester en production
et de nous rapporter vos résultats.
Si vous choisissez l'un des modules SAPI et utilisez Windows 95,
pensez à télécharger la mise à jour DCOM à
Microsoft
DCOM pages. Pour le module ISAPI, comme un serveur web
compatible est nécessaire (testé avec IIS 4.0, PWS 4.0 et IIS 5.0).
IIS 3.0 n'est pas supporté; vous devez
télécharger et installer le Windows NT 4.0 Option Pack avec IIS 4.0 si
vous voulez le support natif de PHP.
Voici les différentes étapes d'installation avant les
étapes spécifiques au serveur.
Extrayez la distribution dans le dossier de votre
choix. "C:\php\"
est une bonne idée.
Vous devez vous assurer que les DLL que PHP utilise sont
disponibles. La liste précise des DLL dépend du serveur
web que vous utiliser, et de la méthode que vous utiliser
pour faire exécuter vos script (CGI ou module).
php4ts.dll
est toujours nécessaire.
Si vous utiliser PHP en module, (e.g. ISAPI or Apache), vous
aurez besoin de la DLL ad hoc, dans le dossier sapi
.
Si vous utilisez des extensions PHP, vous aurez besoin des
DLL associées. Pour être certains que les DLL sont accessibles,
vous pouvez les copier dans le dossier système (i.e.
winnt/system32
ou
windows/system
) ou vous pouvez vous
assurer qu'elles sont dans le même dossier que l'exécutable
PHP ou les autres DLL de votre serveur web (i.e. php.exe,
ou php4apache.dll).
L'exécutable binaire PHP, les modules SAPI, et certaines extensions
utilisent des DLL externes. Assurez vous que ces DLL sont dans votre
distribution, et dans un dossier qui est cité dans le
PATH Windows. Le mieux à faire est de copier les fichiers ci-dessous
dans votre dossier système, qui est généralement :
- c:\windows\system pour Windows 9x/Me
- c:\winnt\system32 pour Windows NT/2000
-
Les fichiers à copier sont :
-
'php4ts.dll', s'il existe, écrasez le
-
Les fichiers 'dlls' de votre distribution. Si vous les
avez déjà installé, ne les remplacez pas, sauf si quelquechose
ne fonctionne pas correctement (avant de les écraser, il est
recommandé de les sauver de toutes manières, au cas où
quelque chose irait de travers).
-
Téléchargez la dernière version de Microsoft Data Access Components
(MDAC) pour votre plateforme, spécialement si vous utilisez
Microsoft Windows 9x/NT4. MDAC est disponible à
http://www.microsoft.com/data/.
Copiez le fichier 'php.ini-dist
' dans votre dossier
'%WINDOWS%' sous Windows 95/98, ou vers votre
dossier '%SYSTEMROOT%' sous Windows NT ou Windows
2000 et renommez le en 'php.ini
'. Votre dossier
'%WINDOWS%' ou '%SYSTEMROOT%' est généralement :
- c:\windows pour Windows 9x/Me
- c:\winnt ou c:\winnt40 pour les serveurs NT/2000
-
Il y a deux fichiers ini, distribués dans le fichier zip,
php.ini-dist
et
php.ini-optimized
. Nous vous recommandons
d'utiliser php.ini-optimized
,
car nous l'avons optimisé d'un point de vue sécurité et
vitesse d'exécution. Le mieux est tout de même de
lire le fichier de configuration
php.ini et
de choisir vos options manuellement. Si vous voulez atteindre
un meilleur niveau de sécurité, c'est par ce moyen que vous
pourez le faire, même si PHP focntionne parfaitement
avec les configurations par défaut.
Editez votre fichier php.ini
:
Vous devez changer votre option 'extension_dir' pour qu'il
pointe sur votre dossier d'installation PHP, ou vers l'endroit
où vous avez installé vos 'php_*.dll'. ex: c:\php\extensions
Si vous utilisez Omni Httpd, sautez l'étape suivante.
Modifiez 'doc_root' pour qu'il pointe sur votre
racine de serveur web. ex: c:\apache\htdocs
ou c:\webroot
.
Choisissez les modules que vous voulez charger lorsque
PHP démarre. Vous pouvez décommenter les lignes
'extension=php_*.dll' pour charger ces modules.
Certains modules requièrent que des librairies
supplémentaires soient installées sur votre
système. La FAQ
PHP a plus d'informations sur ces librairies. Vous pouvez
aussi charger dynamiquement ces librairies avec
dl("php_*.dll"); . Voyez la
section sur les
extensions Windows.
Sous PWS et IIS, vous pouvez modifier le fichier
browscap.ini
pour qu'il pointe sur :
c:\windows\system\inetsrv\browscap.ini
sous
Windows 9x/Me et c:\winnt\system32\inetsrv\browscap.ini
sous NT/2000.
Notez que le dossier mibs
fourni avec
la distribution Windows, contient des fichiers de support
du protocole SNMP. Ce dpssier doit être déplacé dans le dossier
DRIVE:\usr\mibs
(DRIVE
est le périphérique où PHP est installé.)
3.2.9.3 Compilation des sources
Avant de commencer, il est bon de se poser la question suivante :
"Pourquoi la compilation de PHP sous Windows est si difficile?".
Deux raisons viennent immédiatement à l'esprit :
Windows ne dispose pas (encore) d'une grande communauté de
développeurs qui partagent librement leurs sources.
La conséquence directe est que les investissements
nécessaires en infrastructure pour supporter ce
type de développement n'ont pas été faits. Ce qui fait
que le portage des utilitaires Unix a été la solution
pour pallier ce manque. Ne soyez donc pas surpris de
rencontrer cette parenté de temps en temps.
La majorité des instructions que vous allez rencontrer sont
du type : "faire et oublier". Alors, asseyez-vous confortablement
et suivez aussi scrupuleusement que possible les instructions.
-
3.2.9.3.1 Préparation
Avant de commencer, il faut télécharger un maximum de fichiers!
Pour commencer, téléchargez le Cygwin depuis le miroir cygwin
le plus proche. Cela vous donnera les utilitaires GNU les plus
populaires, utilisés durant le processus de compilation.
Téléchargez le reste des utilitaires de compilation dont vous aurez besoin
depuis le site PHP à
http://www.php.net/extra/win32build.zip.
Téléchargez le code source du DNS utilisé par PHP
à
http://www.php.net/extra/bindlib_w32.zip. Il
remplacera le fichier resolv.lib
inclut dans win32build.zip
.
Si vous n'avez pas d'utilitaire de dézippage, vous devez en
télécharger un. Une version libre est disponible à InfoZip.
Finalement, vous aurez besoin des sources PHP 4 elles-mêmes!!
Les dernières versions sont accessibles sur le serveur
CVS anonyme. Si vous
téléchargez une version
intermédiaire
ou la source, vous
devez non seulement extraire les fichiers, mais aussi convertir les
nouvelles lignes en leur équivalent windows (crlf) dans les fichiers
*.dsp
et *.dsw
avant que
Microsoft Visual C++ ne soit capable de les comprendre.
Note |
Placez les dossiers Zend
et
TSRM
dans le dossier
php4
pour que les projets puissent les
trouver durant la compilation.
|
3.2.9.3.2 Mettre tout ensemble
Suivez les instructions pour installer l'utilitaire d'unzip de
votre choix.
Exécutez setup.exe
et suivez les instructions
d'installation. Si vous décidez d'installer dans un autre
dossier que c:\cygnus
, indiquez le au processus de
compilation en modifiant la variable d'environnement
Cygwin. Sous Windows 9x/Me, modifier une variable
d'environnement se fait en ajoutant une ligne dans le
fichier autoexec.bat
. Sous Windows NT, allez
dans le menu "Démarrer => Paramètres =>
Panneau de contrôle => Système "
("My Computer => Control Panel => System ") et
sélectionnez l'onglet "environnement" ("environment").
Attention |
Créez un dossier temporaire pour Cygwin, sinon de nombreuses
commandes (comme bison) échoueront. Sous Windows 9x/Me,
mkdir C:\TMP . Sous Windows NT,
mkdir %SystemDrive%\tmp .
|
Créez un dossier et dézippez win32build.zip
dedans.
Lancez Microsoft Visual C++, et allez dans le menu
"select Tools => Options". Dans le dialogue, sélectionnez
l'onglet "directories". Assurez-vous que cygwin\bin
,
win32build\include
, et
win32build\lib
sont bien
dans les menus déroulants "Executables", "Include", et "Library".
(Pour ajouter une entrée, sélectionnez une ligne
blanche, et tapez). Une entrée typique ressemble à ceci :
Pressez "OK", et sortez de Visual C++.
Créez un autre dossier et dézippez bindlib_w32.zip
dedans. Décidez si vous avez besoin des symboles de débuggage
(bindlib - Win32 Debug) ou non (bindlib - Win32 Release).
Compilez la configuration adéquate :
Pour les utilisateurs de GUI, lancez VC++, puis sélectionnez le
menu "File => Open Workspace" et "bindlib". Puis sélectionnez
"Build=>Set Active Configuration" et sélectionnez la configuration
voulue. Enfin, sélectionnez "Build=>Rebuild All".
Pour les utilisateurs en ligne de commande, assurez-vous que
vous avez enregistré les variables d'environnement C++, ou que
vous avez exécuté vcvars.bat . Exécutez
maintenant l'une des commandes suivantes :
A ce stade, vous avez une librairie resolv.lib
utilisable, soit dans votre dossier Debug
,
soit sans le dossier Release
. Copiez ce fichier
dans votre dossier win32build\lib
, en remplaçant
le fichier du même nom.
3.2.9.3.3 Compilation
La meilleure façon de compiler est de commander par la version
CGI/exécutable.
Pour les utilisateurs GUI, lancez VC++, puis sélectionnez le
menu "File => Open Workspace" et sélectionnez "php4ts". Ensuite,
sélectionnez le menu "Build=>Set Active Configuration",
et sélectionnez la configuration voulue. Finalement,
sélectionnez le menu "Build=>Rebuild All".
Pour les utilisateurs en ligne de commande, assurez-vous que
vous avez enregistré les variables d'environnement C++, ou que
vous avez exécuté vcvars.bat . Exécutez
maintenant l'une des commandes suivantes :
msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"
msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"
A ce stade, vous avez une librairie php.exe
utilisable, soit dans votre dossier Debug_TS
soit sans le dossier Release_TS
.
Répétez les instructions ci-dessus avec php4isapi.dsp
(qui est dans sapi\isapi
) pour compiler le
code nécessaire pour intégrer PHP avec Microsoft IIS.
3.2.9.4 Installation des extensions sous Windows
Après avoir installé PHP et votre serveur web sous Windows,
vous voudrez sûrement ajouter quelques extensions bien pratiques.
La table suivante liste une partie des extensions disponibles.
Comme indiqué dans le manuel, vous pouvez choisir quelles
extensions vous voulez charger en décommentant
la ligne 'extension=php_*.dll' dans le fichier php.ini
.
Vous pouvez aussi charger dynamiquement un module avec la fonction
dl.
Les fichiers DLLs des extensions PHP sont préfixés
par 'php_' en PHP 4, et 'php3_' en PHP 3. Cela évite la confusion
des extensions PHP et de leurs librairies.
Note |
En PHP 4.0.4pl1, les extensions BCMath, BCMath,Calendar, COM,
FTP, MySQL, ODBC, PCRE, Sessions, WDDX et XML sont activées
par défaut . Vous n'avez rien à
faire pour qu'elles soient inclues. Lisez le fichier
README.txt
ou install.txt
dans votre distribution pour connaître la liste des modules par
défaut.
|
Note |
Certaines de ces extensions requièrent des librairies DLL supplémentaires
pour fonctionner correctement. Certaines d'entre elles sont disponibles
dans la distribution. dans le dossier dlls
mais
certaines (comme Oracle (php_oci8.dll)), demandent des dlls qui ne sont
pas dans la distribution.
Copiez les dlls fournies depuis le dossier dlls
dans
votre PATH Windows. Les bons emplacements sont typiquement
- c:\windows\system pour Windows 9x/Me
- c:\winnt\system32 pour Windows NT/2000
-
Si vous les avez déjà d'installées sur votre système, ne les écrasez
que si PHP ne fonctionne pas correctement (et de toutes manières, faites
une sauvegarde de ces DLL, en cas de problème).
|
Extensions PHP
Extension |
Description |
Notes |
php_bz2.dll |
Fonctions de compression Bzip2 |
Aucune |
php_calendar.dll |
Fonctions de conversions calendaires (Depuis PHP 4.03, elles sont
activées par défaut) |
Activée automatiquement depuis PHP 4.0.3 |
php_cpdf.dll |
Fonctions ClibPDF |
php_crypt.dll |
Fonctions de cryptage |
Aucune |
php_ctype.dll |
Fonctions ctype |
Aucune |
php_curl.dll |
Fonctions CURL |
Requiert : libeay32.dll, ssleay32.dll (fournies) |
php_cybercash.dll |
Fonctions de paiement Cybercash |
Aucune |
php_db.dll |
Fonctions DBM |
Obsolète. Utilisez DBA à la place (php_dba.dll) |
php_dba.dll |
Fonctions dbm-style |
Aucune |
php_dbase.dll |
Fonctions DBase |
Aucune |
php3_dbm.dll |
Librairie d'émulation GDBM via Berkely DB2 |
Aucune |
php_domxml.dll |
Fonctions DOM XML |
Requiert : libxml2.dll (fournie) |
php_dotnet.dll |
Fonctions .NET |
Aucune |
php_exif.dll |
Entêtes EXIF des images JPEG |
Aucune |
php_fbsql.dll |
Fonctions FrontBase |
Aucune |
php_fdf.dll |
Fonction FDF (Forms Data Format) |
Requiert: fdftk.dll (fournie) |
php_filepro.dll |
Lecture des bases filepro |
Accès en lecture seule |
php_ftp.dll |
Fonctions FTP |
Activée par défaut depuis PHP 4.0.3 |
php_gd.dll |
Bibliothèque GD (pour les manipulations d'images) |
Aucune |
php_gettext.dll |
Fonctions GNU Gettext |
Requiert : gnu_gettext.dll (fournie) |
php_hyperwave.dll |
Fonctions HyperWave |
Aucune |
php_iconv.dll |
Fonctions de conversions ICONV |
Requiert : iconv-1.3.dll (fournie) |
php_ifx.dll |
Fonctions Informix |
Requiert: librairies Informix |
php_iisfunc.dll |
Fonctions IIS |
Aucune |
php_imap.dll |
Fonctions IMAP 4(en PHP 3: php3_imap4r1.dll) |
PHP 3: php3_imap4r1.dll |
php_ingres.dll |
Fonctions Ingres II |
Requiert: librairies Ingres II |
php_interbase.dll |
Fonctions InterBase |
Requiert: gds32.dll (fournie) |
php_java.dll |
Extension Java |
Requiert: jvm.dll (fournie) |
php_ldap.dll |
Fonctions LDAP |
Requiert: libsasl.dll (fournie) |
php_mhash.dll |
Fonctions Mhash |
Aucune |
php_ming.dll |
Fonctions Ming pour Flash |
Aucune |
php_msql.dll |
Fonctions mSQL |
Requiert: msql.dll (fournie) |
php3_msql1.dll |
Fonctions mSQL 1 |
Aucune |
php3_msql2.dll |
Fonctions mSQL 2 |
Aucune |
php_mssql.dll |
Fonctions MSSQL (anciennement php_mssql70.dll,
requiert MSSQL DB-Libraries) |
Requiert: ntwdblib.dll (fournie) |
php3_mysql.dll |
Fonctions MySQL (Activées par défaut en PHP 4) |
Aucune |
php_nsmail.dll |
Fonctions Netscape mail |
Aucune |
php3_oci73.dll |
Fonctions Oracle |
Aucune |
php_oci8.dll |
Fonctions Oracle 8 |
Requiert: librairies clientes Oracle 8 |
php_openssl.dll |
Fonctions OpenSSL |
Requiert: libeay32.dll (fournie) |
php_oracle.dll |
Fonctions Oracle |
Requiert: librairies clientes Oracle 7 |
php_pdf.dll |
Fonctions PDF |
Aucune |
php_pgsql.dll |
Fonctions PostgreSQL |
Aucune |
php_printer.dll |
Fonctions d'impression |
Aucune |
php_sablot.dll |
Focntions XSLT |
Requiert: sablot.dll (fournie) |
php_snmp.dll |
Fonctions SNMP get et walk |
NT uniquement! |
php_sybase_ct.dll |
Fonctions Sybase |
Requiert: librairies clientes Sybase |
php_yaz.dll |
Fonctions YAZ |
Aucune |
php_zlib.dll |
Fonctions ZLib |
Aucune |
|