Accueil > Développement Web > PHP 4.3 et Mac OS X

PHP 4.3 et Mac OS X

Par Adam Trachtenberg le 16/01/2003

Traduit par Olivier, le 26/03/2003

Avec la sortie récente de PHP 4.3, les utilisateurs de Macintosh peuvent dorénavant configurer et compiler PHP eux-mêmes.
C’est un gros avantage.
Enfin, les utilisateurs de Mac OS X peuvent avoir le même niveau de support que les utilisateurs de Linux et Windows.

Quand vous vouliez des versions précédentes de PHP sur Mac OS X, vous deviez soit utiliser un module précompilé fourni par Apple, soit télécharger un version spécialement compilée par des utilisateurs plein de bonne volonté.
Apple ne fournit que PHP 4.0.6, qui est donc très vieux.
De plus, un nombre limité d’extensions sont supportées.
Malgré l’héroïsme de certains, Marc Liyanage en particulier, ces versions spécialement compilées ne fonctionnent qu’avec la version Apache d’Apple, et il n’est pas possible de les modifier pour qu’ils supportent les nouvelles extensions.

Mais maintenant, grâce à l’effort de nombreux contributeurs, la version 4.3 vous permet de configurer PHP avec votre application favorite.
Et après avoir lu cet article, vous saurez comment télécharger, configurer et installer votre propre configuration de PHP sur Mac OS X.

Remarque : Les instructions n’ont été testées que sous Mac OS X 10.2.3. Cependant, il est fort probable que ces étapes fonctionneront correctement sur toutes versions de Mac OS X 10.2.x. Si vous avez rencontré des difficultés ou que tout fonctionne correctement sur des versions antérieures, veuillez partager vos expériences dans la discussion en fin de cet article (NdT : Discussions en anglais sur OnLamp.com).

Aussi, avant de pouvoir continuer, vous devez installer les fichiers du CD Developer’s Tools, qui est fourni avec la jeux de CD de Mac OS X.
Je vous suggère d’installer la totalité des fichiers recommandés ce qui rendra les choses plus simples.
C’est ce que j’ai fait.
Si vous ne possédez pas ce CD, vous pouvez télécharger les fichiers depuis le site des Développeurs Apple.

La première étape est de récupérer la version 4.3.0 depuis le site web de PHP.
Pour sélectionner le site miroir le plus proche de vous, allez sur www.php.net/downloads.php.
Ou, pour récupérer le fichier depuis le site PHP principal directement depuis la ligne de commande, utilisez cURL :

[benlev:~] adam% curl -O http://www.php.net/distributions/php-4.3.0.tar.gz

Maintenant, vous devez décompresser les fichiers.
Si vous avez utilisé votre navigateur, il est probable que Stuffit Expander l’ait fait pour vous automatiquement.
Sinon, utilisez tar :

[benlev:~] adam% tar xvfz php-4.3.0.tar.gz

Ceci crée un répertoire appelé php-4.3.0.
Dans le Terminal, allez dans ce répertoire. (Si vous êtes peu habitué au Terminal, lisez le tutoriel de Chris Stone.)

[benlev:~] adam% cd php-4.3.0

Nous arrivons au moment où vous pouvez configurer PHP.
Par défaut, PHP inclut, en plus des fonctionnalités principales, un module de suivi de sessions, le support XML et l’extension pour MySQL.
Cependant, PHP supporte de nombreuses autres extensions, telles que : les bases de données Oracle, MSSQL et PostgreSQL ; les protocoles IMAP, LDAP et SNMP ; les formats de fichiers JPEG, PNG et PDF.

Pour configurer PHP, lancer le programme de configuration et passez lui des arguments.
Chaque argument commence par deux tirets suivis d’un mot.
Pour afficher la liste de toutes les options possibles, utiliser –help :

[benlev:~/php-4.3.0] adam% ./configure --help | less

Par exemple, pour ajouter le support pour lire et écrire XML en utilisant le DOM, le module FTP et la communication aux serveurs LDAP, utilisez la commande :

[benlev:~/php-4.3.0] adam% ./configure --with-dom --enable-ftp --with-ldap

Si une commande commence par “with”, cela signifie que PHP ne supporte pas la fonctionnalité en natif.
Au lieu de cela, il s’interface avec un programme externe et utilise les fonctions de la librairie du programme pour effectuer les tâches.
Ainsi, dans l’exemple ci-dessus, vous devez installer l’extension libxml et une librairie LDAP, si vous voulez utiliser ces services avec PHP.
Par contre, l’extension FTP est intégrée à PHP.

Par chance, Apple livre beaucoup de ces programmes avec Mac OS X.
Malheureusement, dans certains (voire nombreux) cas, les programmes sont obsolètes.
Comme PHP 4.3 utilise les fonctionnalités récentes des programmes, il a souvent besoin de la dernière version.
Si vous devez effectuer une mise à jour, essayer d’utiliser fink ou un autre gestionnaire de paquets.
Dans certains cas, il se peut que vous ayez à installer les programmes à la main.

PHP essaye de localiser les librairies où qu’elles soient installées sur le disque dur.
Mais si votre gestionnaire de paquets installe les fichiers dans un endroit particulier, indiquez à PHP où les trouver en utilisant un signe égal suivi du chemin d’accès après le nom de la commande :

--with-gd=/sw

Ceci indique à PHP de chercher les graphiques GD dans le répertoire /sw, là où fink place les fichiers.

En plus de la configuration de PHP pour supporter de nouvelles extensions, vous devez également indiquer à PHP où installer ses fichiers.
Apple placent les fichiers dans des répertoires différents de ceux habituellement utilisés par PHP.
Mais vous pouvez forcer PHP à s’installer dans les répertoires définis par Apple.
Pour cela, passez les quatre paramètres suivants :

--prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man

Une fois que vous avez configuré PHP pour que les fichiers s’installent correctement, vous devez indiquer votre serveur web.
Si vous ne spécifiez rien à PHP concernant votre serveur web, PHP générera une version CGI générique.
Mais si vous utilisez Apache, par exemple, PHP peut créer un module Apache.
Le support d’Apache 1.x est ajouté en passant –with-apxs.

Si vous utilisez la version d’Apache livrée avec Apple, PHP retrouve automatiquement votre serveur et se configure correctement de lui-même.
(Ceci marchera probablement même si vous avez réinstallé Apache.)

D’autres serveurs web ont d’autres commandes. Pour la version expérimentale d’Apache 2.x, utilisez –apxs2. Pour d’autres, utilisez la commande help, comme mentionnée plus tôt. Elle affiche une liste des options pour serveurs web.

Un dernier point sur la configuration. PHP n’installe pas zlib de façon automatique, et sans zlib, MySQL et d’autres programmes ne fonctionneront pas.
Alors ajoutez explicitement cette extension à votre ligne de configuration :

--with-zlib

Voici donc l’ensemble des paramètres pour une installation standard de PHP et d’Apache :

[benlev:~/php-4.3.0] adam% ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
  --mandir=/usr/share/man --with-apxs --with-zlib

Appuyez sur la touche Entrée et le programme de configuration s’exécutera pendant un certain temps, imprimant une série de lignes, avant de s’arrêter sur le message suivant :

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
|                          *** NOTE ***                              |
|            The default for register_globals is now OFF!            |
|                                                                    |
| If your application relies on register_globals being ON, you       |
| should explicitly set it to on in your php.ini file.               |
| Note that you are strongly encouraged to read                      |
| http://www.php.net/manual/en/security.registerglobals.php          |
| about the implications of having register_globals set to on, and   |
| avoid using it if possible.                                        |
+--------------------------------------------------------------------+

Thank you for using PHP.

Comme vous le voyez, PHP désactive la directive de configuration register_globals.
Cette modification est effective depuis PHP 4.2, mais si vous faites une mise à jour depuis la version installée d’Apple (4.0.6), c’est la première fois que ce changement intervient.
En gros, vous ne pouvez plus accéder à une variable de formulaire HTML appelé “name” par $name.
Au lieu de cela, vous pouvez prendre connaissance de sa valeur en utilisant $_GET['name'] ou $_POST['name'].
Voyez le manuel PHP en ligne pour de plus amples informations.

Si vous ne voyez pas apparaître ce message, il y a eu une erreur dans la configuration de PHP.
Regardez le message d’erreur et essayer de résoudre le problème.
Si vous n’y parvenez pas, consultez la mailing liste d’installation PHP pour obtenir de l’aide.

Maintenant que la configuration laborieuse est terminée, compilez PHP en utilisant make :

[benlev:~/php-4.3.0] adam% make

Ceci prendra un certain temps.
Ne vous inquiétez pas si des messages d’alertes (warning) apparaissent.
Ils sont acceptables ; les erreurs, elles, ne le sont pas.
Il n’y a pas de message particulier en fin de compilation, alors à moins que vous ne puissiez voir un message d’erreur, tout c’est bien déroulé quand les messages s’arrêtent.

Enfin, vous devez installer PHP.
Ceci remplacera une version pré-existante de votre système.
Alors si vous souhaitez la conserver (pour effectuer des tests ou par nostalgie), il est encore temps de la sauvegarder.
Si vous avez décidé d’utiliser un des répertoires mentionnés plus haut, vous devez avoir les droits administrateurs pour installer PHP, alors lancer cette commande avec sudo :

[benlev:~/php-4.3.0] adam% sudo make install

Cet installeur place le module serveur web à la bonne place, installe la version ligne de commande de PHP, et place également PEAR sur votre système. (Quelques fichiers d’aide sont également installés.)

Si Apache et PHP fonctionnaient déjà, relancez votre serveur web pour pouvoir utiliser la nouvelle copie de PHP :

[benlev:~/php-4.3.0] adam% sudo apachectl graceful

Vous pouvez vérifier que tout c’est bien déroulé en affichant une page contenant phpinfo().
Vérifiez le numéro de la version, la date de compilation (built date) et les options de configuration.

Si c’est la première fois que vous utilisez PHP et Apache, voyez l’article de Kevin Hemenway sur Apache et PHP pour apprendre comment configurer Apache
pour avoir le support PHP.

L’interface ligne de commande de PHP (aussi connue sous le nom de PHP CLI pour Command Line Interface) vous permet d’exécuter des scripts PHP sans avoir à passer par le navigateur.
Les versions récentes de PHP supportaient l’interface CLI de façon non officielle, mais ce support est maintenant finalisé avec 4.3.0.
Si vous voulez utiliser PHP pour effectuer des tâches de maintenance ou avec PHP-GTK, l’interface CLI est pour vous.
(Note : Si vous avez choisi d’installer PHP par CGI plutôt qu’en tant que module de serveur web, alors vous devez explicitement installer l’interface CLI en utilisant make install-cgi.
Ceci n’est pas un problème pour ceux qui installent PHP en tant que module Apache comme décrit dans cet article.)

Félicitations. Vous avez maintenant une version fonctionnelle de PHP 4.3 sur votre Macintosh. J’espère que vous l’apprécierez.

Textes originaux en anglais sur O’Reilly : PHP 4.3 and Mac OS X par Adam Trachtenberg

opoppon Développement Web ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire