Le moyen le plus simple d'activer PHP et MySQL sur Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

102

Quelle est la manière la plus simple d'activer PHP et MySQL sur Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

Je préfère utiliser toutes les versions groupées avant de recourir au téléchargement à partir des sites Web PHP ou MySQL. Cela exclut également MAMP et autres.

Je suis à l'aise avec la ligne de commande dans Terminal.

Matt Sephton
la source

Réponses:

142

Ouvrez un bon éditeur de texte (je recommanderais TextMate, mais le TextWrangler ou vi ou nano gratuit fera également l'affaire), et ouvrez:

/etc/apache2/httpd.conf

Trouvez la ligne:

"#LoadModule php5_module        libexec/apache2/libphp5.so"

Et décommentez-le (supprimez le #).

Téléchargez et installez la dernière version de MySQL sur mysql.com. Choisissez la version x86_64 pour Intel (sauf si votre Mac Intel est le Macbook Pro ou Macbook d'origine, qui ne sont pas des puces 64 bits. Dans ces cas, utilisez la version 32 bits x86).

Installez tous les composants MySQL. À l'aide du volet des préférences, démarrez MySQL.

Dans les préférences du système de partage, activez (ou, s'il était déjà activé, désactivez / activez) le partage Web.

Vous devriez maintenant avoir Apache / PHP / MySQL en cours d'exécution.

Dans les versions 10.4 et 10.5, il était nécessaire de modifier le fichier php.ini pour qu'il pointe vers l'emplacement correct de mysql.sock. Il y a des rapports que cela est corrigé dans 10.6, mais cela ne semble pas être le cas pour nous tous, étant donné certains des commentaires ci-dessous.

TWLATL
la source
10
si quelqu'un d'autre se demande où est le php.ini, il n'y en a pas! mais vous pouvez en ajouter un /etcen copiant /etc/php.ini.defaultvers/etc/php.ini
cregox
11
et la page "Ça marche" est sous/Library/WebServer/Documents/index.html.en
cregox
1
A la fin, j'ai dû copier le fichier php.ini.default dans php.ini, et les fichiers PHP ont commencé à être exécutés comme il se doit.
kiamlaluno
3
Pour utiliser MySQL, j'ai dû également changer la socket par défaut, qui dans mon cas était /tmp/mysql.sock (j'ai installé MySQL 5.5).
kiamlaluno
7
De plus, après avoir enregistré le .conf, vous pouvez simplement utiliser la commande sudo apachectl restartau lieu de désactiver le partage Web.
aaaidan
17

Pour terminer votre configuration ou MySQL:

sudo vim /etc/profile
  1. Ajouter un alias

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Ensuite, définissez votre mot de passe root

    mysqladmin -u root password 'yourPassword'
  3. Ensuite, vous pouvez vous connecter avec

    mysql -u root -p
mdskinner
la source
J'aime ça! Au lieu de jouer avec le PATH, ajoutez un alias +1
brutuscat
1
N'oubliez pas non plus de fermer / rouvrir votre session Terminal pour que vos alias prennent effet.
gravyface
4

Je préfère fortement HomeBrew à MacPorts pour installer le logiciel à partir de la source.

HomeBrew séquestre tout dans / usr / local / Cellar afin qu'il ne crache pas de fichiers partout. (Oui, MacPorts garde tout dans / opt / local, mais cela nécessite un accès sudo, et je ne fais pas confiance à MacPorts avec root.)

L'installation de MySQL est aussi simple que:

brew install mysql
mysql_install_db

Pour démarrer mysql, dans le type de terminal:

mysqld&

Il existe un moyen de le démarrer au démarrage, mais j'aime le démarrer manuellement.

Duc
la source
"brew link mysql" créera un certain nombre de liens symboliques dans / usr / local / bin etc.
Duke
Je ne suis pas sûr de comprendre le commentaire "Spew files". MacPorts séquestre tout dans / opt / local, donc cela semble équivalent. Je suppose que j'ai parfois vu quelque chose placé dans / Applications / MacPorts (par exemple AquaTerm pour gnuplot), mais c'est la très rare exception et généralement pour une bonne cause (par exemple, AquaTerm est un bundle .app), et même alors il le garde organisé sous un seul annuaire ...
Ethan
1
Oh, et je trouve plus facile d'ajouter simplement / opt / local / bin à mon $ PATH, et -I / opt / local / include à CPPFLAGS, -L / opt / local / lib à LDFLAGS, et ensuite ne pas avoir à me souvenir pour mettre en place des liens pour chaque package qui est installé ...
Ethan
Mon utilisation du lien symbolique était en partie basée sur l'ignorance; c'est complètement inutile. Je ne fais tout simplement pas confiance aux gros scripts d'installation avec root. Et si vous ne pensez pas que MacPorts répartit les fichiers sur de nombreux répertoires, il suffit de regarder les instructions de désinstallation: guide.macports.org/chunked
Duke
4

C'est un dossier invisible. Appuyez simplement sur Command+ Shift+ G(vous amène à l'élément de menu Aller au dossier) et tapez /etc/.

Ensuite, il vous mènera à l'intérieur de ce dossier.

asdf1
la source
3

Cela m'aide beaucoup:

http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

Cela fonctionne également pour Mac OS X Lion: D

.:ÉDITER:. Dans mon cas, le prefepane ne permet que de démarrer et d'arrêter mysql, mais après quelques problèmes, je l'ai désinstallé. Si vous avez besoin d'une application pour exécuter des requêtes et créer des bases de données, vous pouvez utiliser: Sequel Pro (c'est gratuit) ou Navicat

Si vous avez besoin de démarrer et d'arrêter mysql dans ~ / .bash_profile, vous pouvez ajouter ces lignes:

#For MySQL
alias mysql_start="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias mysql_stop="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

Après avoir rechargé la console, il suffit d'appeler:

$mysql_start 

ou

$mysql_stop 

agreding l'action souhaitée. L'espoir vous a aidé.

rêveur de travail
la source
Le prefpane MySQL fonctionne-t-il pour vous dans Lion? Autrement dit, peut-il activer / désactiver MySQL?
Matt Sephton
1
Je n'ai pas besoin du prefpane, mais cela résout votre question? : stackoverflow.com/questions/3027479/…
workdreamer
Mais le prefpane vous permet uniquement de démarrer et d'arrêter le mysql. J'ai réédité mon message car ici, il n'est pas formaté.
workdreamer
1

Je serais d'accord avec Benjamin, soit installer MAMP ou MacPorts ( http://www.macports.org/ ). Garder votre installation PHP séparée est plus simple et évite de gâcher l'installation principale de PHP si vous faites des erreurs!

MacPorts est un peu mieux pour installer d'autres logiciels, tels que ImageMagick. Consultez la liste complète des ports disponibles sur http://www.macports.org/ports.php

MAMP fait juste vraiment PHP, Apache et MySQL, donc tous les futurs modules PHP que vous souhaitez devront être activés manuellement. Il est cependant incroyablement facile à utiliser.

simonrjones
la source
0

Étant donné qu'il n'a pas encore été publié, je suppose que c'est une question pour à l'avance ou que vous avez une version de développeur. Comme Benjamin l'a mentionné, MAMP est le moyen le plus simple. Cependant, si vous souhaitez une installation native, le processus devrait ressembler à 10.5. PHP est installé sur OS X par défaut (pas toujours activé pour certains), téléchargez simplement la version 32 bits de MySQL, démarrez Apache, et vous devriez être prêt à partir. Vous devrez peut-être modifier Apache pour PHP ou MySQL, selon les versions présentes. Je n'ai rien eu à modifier pour que cela fonctionne.

machuga
la source
Par souci - Snow Leopard est compatible 64 bits, alors pourquoi choisir le 32 bits de MySQL?
Matt Sephton
1
Leopard, et même Tiger pour la plupart des choses, je crois, sont capables de 64 bits. MySQL 64 bits a quelques problèmes avec d'autres packages, pas nécessairement directement liés à PHP, mais disons qu'il a essayé Python sur toute la ligne - MySQL 64 bits cause de sérieux problèmes avec le package MySQLDB. C'est complètement utilisable, mais malheureusement, toutes les choses ne se sont pas encore rattrapées.
machuga
0

FYI - si quelqu'un rencontre des problèmes avec le lancement d'Apache et obtient des erreurs

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

c'est à cause d'une mise à jour récente d'Apache dans Snow Leopard. Le correctif est facile, il suffit d'ouvrir /usr/sbin/apachectlet de définirULIMIT=""

http://blog.deversus.com/2010/11/mac-os-1065-apachectl-usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/

cabgfx
la source
0

Si vous avez mis à niveau vers Mac OS X 10.8 Mountain Lion et que vous aviez auparavant un système opérationnel, tout ce que vous devriez faire est de réactiver PHP comme à l'étape 1 de la réponse choisie ci-dessus.

Vous pouvez également trouver le volet des préférences suivant utile pour gérer le «partage Web» (serveur Web Apache), qui remplace les fonctionnalités système supprimées dans OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -Lion/

J'ai également dû rajouter la ligne d'inclusion de mes hôtes virtuels au httpd.conf

Matt Sephton
la source
0

En plus des versions natives, mais vous voudrez peut-être essayer BitNami MAMP Stacks (avertissement, je suis l'un des développeurs). Ce sont des bundles tout-en-un entièrement gratuits d'Apache, MySQL, PHP et plusieurs autres bibliothèques et utilitaires tiers utiles lors du développement local. En particulier, ils sont complètement autonomes, vous pouvez donc en installer plusieurs en même temps, avec différentes versions d'Apache et de MySQL et ils n'interféreront pas les uns avec les autres. Vous pouvez les obtenir sur http://bitnami.org/stack/mampstack ou directement sur l'app store Mac OS X https://itunes.apple.com/app/mamp-stack/id571310406

Daniel Lopez
la source
0

ammps était super facile pour moi et a une belle configuration basée sur le Web:

crizCraig
la source
Je préfère les versions standard fournies, veuillez consulter la question.
Matt Sephton le
0

Il y a un excellent guide ici:

https://discussions.apple.com/docs/DOC-3083

Cependant, cela n'a pas fonctionné pour moi au premier essai. J'ai trouvé cette astuce: lancez "httpd -t" dans Terminao pour vérifier la syntaxe de vos fichiers de configuration. Il s'avère que l'utilisation du copier-coller du didacticiel a introduit des caractères étranges. Après avoir corrigé cela, cela a très bien fonctionné. Il existe également des liens du guide pour ajouter MySQL.

Cela a fonctionné beaucoup mieux pour moi que MAMP. Avec MAMP, j'avais des retards d'environ 20 secondes avant que les modifications du fichier .php ne soient reflétées dans le navigateur lorsque vous actualisez, même si vous effacez le cache, l'historique, les cookies, etc.

Ce problème a été résolu dans MAMP PRO, mais MAMP PRO avait un nouveau problème: les fichiers .php seraient téléchargés au lieu d'être rendus sous forme de page dans le navigateur! J'ai contacté le support et ils ne savaient pas ce qui se passait.

Le serveur Apache intégré n'avait aucun de ces problèmes. Certainement la voie à suivre. Le guide ci-dessous est presque identique à celui ci-dessus, mais il contient des commentaires d'utilisateurs utiles:

http://osxdaily.com/2012/09/02/start-apache-web-server-mac-os-x/#comment-572991

Vern Jensen
la source