Voyons comment nous pouvons mettre à niveau manuellement l'installation native de PHP sous OS X 10.8 vers la version la plus récente (actuellement la version 5.4.5) et installer un autre logiciel utile installé pendant que nous y sommes. * Les packages AMP sont pratiques, mais rarement à jour, aussi, absorber la procédure décrite dans cet article est inestimable pour tout développeur PHP..
Si vous ne vous intéressez qu'à l'aspect pratique de l'installation de PHP, n'hésitez pas à sauter cette section, mais il pourrait vous être utile ultérieurement de savoir comment cela fonctionne et pourquoi certaines commandes sont nécessaires..
Chaque installation de logiciel à partir de la source suit essentiellement la même chaîne de commandes: Téléchargez les fichiers source, configurez, effectuez, éventuellement testez, installez.
Le script «configure» indique à «make» ce qui va être construit. Exécuté en tapant "./configure", le script configure analyse les dépendances, vérifie que vous exécutez un système d'exploitation pris en charge, configure les fichiers nécessaires pour le système d'exploitation donné et génère enfin un fichier Make qui, lorsque "make" est appelé, dicte comment et qu'est-ce qui doit être construit.
"Configure" dit "make" ce qui va être construit
Si le script configure trouve des dépendances ou des erreurs manquantes, il effectue une sortie et arrête l'exécution, permettant ainsi à l'utilisateur de supprimer ou de contourner tout obstacle avant de poursuivre. La commande configure vient toujours en premier lors de la compilation à partir du source.
Ensuite, “make” construit ce que configure lui a dit de construire. “Make” est initialisé en tapant simplement “make”, et est en fait un utilitaire GNU qui est généralement utilisé pour gérer un ensemble de fichiers et les recompiler si nécessaire.
«Make» construit ce que configure lui a dit de construire
Pour fonctionner, cela nécessite un fichier makefile - un fichier dans lequel ses directives sont décrites et les relations entre les fichiers en question sont notées. Une fois exécuté, la commande make lit le fichier makefile et effectue les tâches..
La commande "make test" exécute la commande make mais teste également la compilation par rapport à une cible de test. Toutes les distributions sources ne prennent pas en charge "make test". Par conséquent, sauf spécification explicite dans la documentation d'installation du logiciel en cours d'installation, vous devez utiliser le "make" habituel..
La commande "make test" exécute la commande make mais teste également la compilation par rapport à une cible de test.
“Sudo make install” installe les fichiers “make” intégrés dans des dossiers prédéfinis. Il gère toutes les inclusions, met à jour et résout les chemins et déplace tout vers où il devrait être. Effectivement, l'installation est terminée et l'utilisateur n'a généralement rien d'autre à faire..
C’est en fait exactement ce que Homebrew - le gestionnaire de paquets que nous installons dans la section suivante - peut faire. Il peut exécuter le même flux, en interne. Vous ne voyez pas vraiment tout cela directement, mais plus ou moins la même chaîne est exécutée, si la "formule" soumise par le "brasseur" est faite de cette façon.
Cela facilite le processus dans son ensemble en vérifiant automatiquement les dépendances et en les installant avant de passer au package principal désigné. Ensuite, il télécharge et désarchive et exécute la chaîne configure, make, make install pour terminer l’installation..
Presque toutes les installations à partir des sources suivent les mêmes étapes: télécharger, configurer, créer, installer.
Pour que l'installation de PHP se déroule le mieux possible, vous devez installer Homebrew, un gestionnaire de paquets pour OSX, qui peut gérer de nombreuses installations à votre place. Ces installations pourraient sinon nécessiter des procédures de construction complexes et comporter des dépendances critiques heures à résoudre.
Avoir installé Homebrew vous sera bénéfique à long terme.
Avoir installé Homebrew vous sera bénéfique à long terme, et pas seulement dans le but de cet article. Il offre un moyen rapide d’installer des bibliothèques et des logiciels courants sans avoir à compiler à partir des sources..
Pour l’installer, nous devons procéder comme suit (ignorez cette section si vous avez installé Homebrew):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer $ ln -s / opt / X11 / usr / X11
… Tiré de ce post. Cela se produit sur certaines instances de Mountain Lion pour une raison quelconque.
Une fois cela fait, lancez Brew Doctor et vérifiez que tout fonctionne (comme indiqué sur les instructions du site Web de Homebrew)..
De manière prévisible, l'installation de PHP nécessite l'installation de certaines bibliothèques. Heureusement, Homebrew est là pour gérer ces installations pour nous. Installez les éléments suivants:
brasser installer libjpeg brasser installer pcre brasser installer libxml2 brasser installer mcrypt
Une fois cela fait, téléchargez les fichiers source PHP depuis Php.net. Décompressez l'archive, ouvrez votre terminal et basculez vers le dossier source (par exemple, cd ~ / Téléchargements / php-5.4.5 / ou à tout autre endroit où vous avez téléchargé les sources)..
Si vous envisagez de travailler avec Zend Framework 2 et souhaitez commencer avec l'exemple d'application squelette créé par Rob «Akrabat» Allen ou si vous avez l'intention de déployer votre application dans plusieurs langues, vous avez besoin de l'assistance de php-intl. Pour permettre au script de configuration de prendre en compte php-intl lors de la construction du fichier makefile, nous devons installer une autre dépendance - ICU. Téléchargez ceci depuis ICU-Project.org et exécutez:
tar xzvf icu4c-4_8_1-src.tgz cd icu / source ./runConfigureICU MacOSX make sudo make install
Cela gérait toutes les dépendances de base que PHP pourrait souhaiter de notre part (pour le moment). Nous pouvons maintenant enfin le construire et l'installer.
Tout d'abord, dans le dossier source non archivé de PHP, exécutez la commande de configuration suivante:
./ configure \ --prefix = / usr \ --mandir = / usr / share / man \ --infodir = / usr / share / info \ --sysconfdir = / private / etc \ --with-apxs2 = / usr / sbin / apxs \ --enable-cli \ --with-config-chemin-fichier = / etc \ --with-libxml-dir = / usr \ --with-openssl = / usr \ --with-kerberos = / usr \ --with-zlib = / usr \ --enable-bcmath \ --with-bz2 = / usr \ --enable-calendar \ --with-curl = / usr \ --enable-dba \ --enable -exif \ --enable-ftp \ --with-gd \ --enable-gd-native-ttf \ --with-icu-dir = / usr \ --with-iodbc = / usr \ --with-ldap = / usr \ --with-ldap-sasl = / usr \ --with-libedit = / usr \ --enable-mbstring \ --enable-mbregex \ --with-mysql = mysqlnd \ --with-mysqli = mysqlnd \ --without-pear \ --with-pdo-mysql = mysqlnd \ --with-mysql-sock = / var / mysql / mysql.sock \ --with-readline = / usr \ --enable-shmop \ --with-snmp = / usr \ --enable-soap \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --with-tidy \ --enable-wddx \ --with-xmlrpc \ --with-iconv-dir = / usr \ --with-xsl = / usr \ --enable-zip \ --with-imap = / usr / local / imap-2007 \ --with-kerberos \ --with-imap-ssl \ --enable-intl \ --with-pcre-regex \ --with-pgsql = / usr \ --with-pdo-pgsql = / usr \ - -with-freetype-dir = / usr / X11 \ --with-jpeg-dir = / usr \ --with-png-dir = / usr / X11
Une fois terminé, exécutez
$ make test
"Make test" exécute make et teste les compilations pour rechercher des erreurs
Comme mentionné dans la section sur la théorie de la construction, cela exécute make et teste la compilation. Cela peut prendre un certain temps, jusqu'à 30 minutes, car chaque facette de PHP est en cours de test. Lorsque vous avez terminé, si PHP a détecté des erreurs (et le sera probablement), signalez-les aux développeurs en suivant les instructions à l'écran. Ne vous inquiétez pas, tout va bien, les erreurs détectées sont généralement sans importance..
Si le PHP d'origine est déjà activé et configuré, effectuez une sauvegarde de votre fichier php.ini maintenant. Il devrait être dans /etc/php.ini
Enfin, lancez ce qui suit pour installer réellement PHP.
$ sudo make install
Il est préférable de ne pas écraser le nouveau fichier php.ini avec votre ancien si vous avez effectué une sauvegarde. Au lieu de cela, copiez manuellement les valeurs dont vous avez besoin pour ne pas compromettre votre sécurité. Ainsi, nous nous assurerons que le nouveau fichier php.ini est entièrement compatible avec la version nouvellement installée..
Presque fini! Si vous aviez déjà activé PHP sur votre machine auparavant et que le seul but de lire cet article était de mettre à jour le PHP existant, vous avez terminé - tout devrait fonctionner.
Sinon, nous devons activer PHP dans l'installation Apache native d'OSX. Puisque le fichier httpd.conf sera probablement à l’emplacement par défaut, ouvrez-le via Terminal dans TextEdit comme suit:
$ SUDO_EDITOR = "open -FWne" sudo -e /etc/apache2/httpd.conf
J'utilise la commande SUDO EDITOR ici pour ouvrir le fichier dans TextEdit, tout simplement parce que j'estime qu'il est beaucoup plus facile d'éditer des fichiers que Vim ou Nano. J'aurais aussi bien pu utiliser “sudo vim /ect/apache2/httpd.conf” pour le modifier dans vim.
Décommentez ensuite les lignes suivantes (elles ne sont pas côte à côte - utilisez la commande Rechercher pour les localiser)
LoadModule php5_module libexec / apache2 / libphp5.so Inclure /private/etc/apache2/extra/httpd-vhosts.conf
La première ligne active l'utilisation de PHP en tant que module Apache. La deuxième ligne est là pour que le fichier principal httpd.conf (configuration d’Apache) récupère les hôtes virtuels à partir du fichier vhosts et nous évite les problèmes liés à une édition excessive dans le fichier httpd.conf, trop sensible. Cela présente l’avantage supplémentaire de vous permettre de sauvegarder un fichier vhosts quelque part en dehors de / etc, et de le sauvegarder pour d’autres machines de développement ou des réinstallations..
Une approche très pratique consiste à l’héberger sur un service en nuage tel que Google Drive ou Dropbox et à y accéder directement à partir de httpd.conf. Ainsi, lorsque vous ajoutez un nouvel hôte virtuel, il est automatiquement installé sur chacune de vos machines dès le redémarrage du serveur Apache local..
Un hôte virtuel est un domaine imaginaire hébergé localement. Il vous permet essentiellement de tester vos projets dans le navigateur en entrant différentes URL. Par exemple, sur ma machine, je pourrais visiter http: //mactuts.tutorial et voir l'application Hello World dans laquelle cette section se termine, ou je pourrais visiter http://mw.dev pour voir la version de développement d'un projet que je suis. travaille sur. Tout simplement, une URL différente déclenche un dossier source différent et ouvre un projet différent en tant que site Web. Voici un guide rapide sur la façon d’ajouter un vhost - si vous avez déjà configuré vhosts ou si vous comprenez tout ce qui les concerne, n'hésitez pas à passer cette section..
Premièrement, nous allons nommer notre exemple vhost "mactuts.tutorial". Pour ce faire, ajoutez une entrée dans / etc / hosts qui ressemble à ceci:
127.0.0.1 mactuts.tutorial
Cela signifie que l’accès à l’URL http: //mactuts.tutorial dans le navigateur ira à 127.0.0.1:80 ou, en d’autres termes, au port 80 de notre serveur local (Apache)..
Ajoutez ensuite un bloc dans etc / apache2 / extra / httpd-vhosts.conf qui ressemble à ceci:
ServerName mactuts.tutorial DocumentRoot "/ Users / USERNAME / Sites / mactuts" ServerAdmin [email protected] Options Index FollowSymLinks AllowOverride All Ordre autoriser, refuser Autoriser de tous
Remplacez USERNAME par votre propre nom d'utilisateur, sans les accolades. Cela indique à Apache ce qui suit: Si vous avez quelque chose sur le port 80, vérifiez son nom d’URL original. Si c'est mactuts.tutorial, configurez toutes ces options.
Ensuite, redémarrez Apache avec
$ sudo apachectl restart
3) Créez un dossier "/ Users / USERNAME / Sites / mactuts" (bien sûr, remplacez USERNAME par le nom de votre utilisateur OSX) et placez-y un fichier index.php avec le contenu suivant:
Allez à http: //mactuts.tutorial. Vous devriez voir "Hello World"!
Récemment, une alternative à cette approche est apparue - installer PHP via Homebrew lui-même. Le problème, c'est qu'il n'y a pas de chaînes officielles au moment d'écrire ces lignes (début août 2012), il faut donc activer un autre robinet pour Homebrew..
En outre, la version OS X sur laquelle j'ai testé cela, Mountain Lion, n'a malheureusement pas été installée de cette manière et m'a jeté de vagues erreurs que je n'ai pas pu résoudre. Si vous vous sentez aventureux, consultez cette publication et essayez de la modifier en fonction de votre propre système d'exploitation et de la version PHP souhaitée..
Une alternative plus stable semble être disponible ici, mais les commentaires sont laxistes et il n’ya pas grand-chose à faire. Je laisse donc ces méthodes à l’expérimentation des lecteurs..
Voici quelques alternatives suggérées par les commentateurs depuis la publication de l'article.
php_osx
DaftViking, un commentateur, a attiré mon attention sur une autre solution (qui semble bien fonctionner) qui inclut l'installation de PHP via php_osx..
Macports
Bien que j'encourage la suppression progressive de Macports au profit de Homebrew, il semble que Macports ait également ajouté une version stabilisée de PHP, ce qui pourrait donc constituer une autre alternative efficace. Personnellement, je n'ai pas testé cette approche, mais pour ceux qui maîtrisent Macports, des informations supplémentaires sont disponibles ici. Merci à Redditor nemeth88 pour le heads-up!
OS X est livré avec une configuration PHP et Apache préinstallée. Malheureusement, la version de PHP fournie est extrêmement obsolète et ne se met jamais à jour, sauf lors de l’installation d’une nouvelle version du système d’exploitation. À ce moment-là, la nouvelle version de PHP incluse est déjà obsolète. En plus de récupérer un paquet * AMP (Apache / Mysql / Php) (qui a rarement, sinon jamais, de versions à jour de PHP), que peut-on faire sauf le mettre à jour manuellement?
Dans ce tutoriel, nous avons abordé les bases de la création à partir des sources, nous avons construit et installé une nouvelle version mise à jour de PHP. Nous avons même installé Homebrew, ce qui simplifie grandement l'installation de logiciels et de bibliothèques. . Nous avons également abordé la création d’un hôte virtuel et testé notre installation pour nous assurer de son fonctionnement. J'espère que vous avez apprécié et que tout a fonctionné comme prévu. Si vous rencontrez des problèmes, n'hésitez pas à poster dans les commentaires et nous allons travailler sur les problèmes ensemble.