Il modo più semplice per attivare PHP e MySQL su Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?


102

Qual è il modo più semplice per attivare PHP e MySQL su Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

Preferirei utilizzare qualsiasi versione in bundle prima di ricorrere al download dai siti Web PHP o MySQL. Ciò esclude anche MAMP e simili.

Sono a mio agio sulla riga di comando in Terminal.

Risposte:


142

Apri un buon editor di testo (consiglierei TextMate, ma anche il TextWrangler gratuito o vi o nano lo faranno) e apri:

/etc/apache2/httpd.conf

Trova la linea:

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

E rimuovere il commento (rimuovere il #).

Scarica e installa l'ultima versione di MySQL da mysql.com. Scegli la versione x86_64 per Intel (a meno che il tuo Mac Intel non sia il Macbook Pro o Macbook originale, che non sono chip a 64 bit. In questi casi, usa la versione x86 a 32 bit).

Installa tutti i componenti MySQL. Utilizzando il pannello pref, avvia MySQL.

In Sharing System Pref, attiva (o se era già attivo, disattiva / attiva) la condivisione web.

Ora dovresti avere Apache / PHP / MySQL in esecuzione.

In 10.4 e 10.5 era necessario modificare il file php.ini in modo che puntasse alla posizione corretta di mysql.sock. Ci sono rapporti secondo cui questo è stato risolto nella 10.6, ma non sembra essere il caso per tutti noi, dati alcuni dei commenti di seguito.


10
se qualcun altro si sta chiedendo dove sia php.ini, non ce n'è! ma puoi aggiungerne uno /etccopiando /etc/php.ini.defaultin/etc/php.ini
cregox

11
e la pagina "Funziona" è sotto/Library/WebServer/Documents/index.html.en
cregox

1
Alla fine, ho dovuto copiare il file php.ini.default in php.ini, e i file PHP hanno iniziato ad essere eseguiti come dovrebbero essere.
kiamlaluno

3
Per utilizzare MySQL, dovevo anche cambiare il socket predefinito, che nel mio caso era /tmp/mysql.sock (ho installato MySQL 5.5).
kiamlaluno

7
Inoltre, dopo aver salvato il .conf, puoi semplicemente usare il comando sudo apachectl restartinvece di disattivare la condivisione web.
aaaidan

17

Per completare la configurazione o MySQL:

sudo vim /etc/profile
  1. Aggiungi alias

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Quindi imposta la tua password di root

    mysqladmin -u root password 'yourPassword'
  3. Quindi puoi accedere con

    mysql -u root -p

Mi piace questo! Invece di scherzare con il PATH aggiungi un alias +1
brutuscat il

1
Inoltre, ricorda di chiudere / riaprire la sessione del terminale affinché i tuoi alias abbiano effetto.
gravyface

4

Preferisco fortemente HomeBrew rispetto a MacPorts per l'installazione del software dalla fonte.

HomeBrew sequestra tutto in / usr / local / Cellar in modo da non spargere file dappertutto. (Sì, MacPorts mantiene tutto in / opt / local, ma richiede l'accesso sudo e non mi fido di MacPorts con root.)

Installare MySQL è semplice come:

brew install mysql
mysql_install_db

Per avviare mysql, nel tipo di terminale:

mysqld&

C'è un modo per avviarlo all'avvio, ma mi piace avviarlo manualmente.


"brew link mysql" creerà una serie di link simbolici in / usr / local / bin ecc.
Duke

Non sono sicuro di aver compreso il commento "file di spew disordinato". MacPorts sequestra tutto in / opt / local, quindi sembra equivalente. Suppongo di aver visto occasionalmente qualcosa inserito in / Applicazioni / MacPorts (ad esempio AquaTerm per gnuplot), ma questa è un'eccezione molto rara e di solito per una buona causa (ad esempio AquaTerm è un bundle .app), e anche in questo caso lo mantiene organizzato in un unico elenco ...
Ethan

1
Oh, e trovo più semplice aggiungere / opt / local / bin al mio $ PATH e -I / opt / local / include a CPPFLAGS, -L / opt / local / lib a LDFLAGS, e quindi non è necessario ricordare per impostare i collegamenti per ogni singolo pacchetto che viene installato ...
Ethan

Il mio uso del collegamento simbolico era basato in parte sull'ignoranza; è completamente inutile. Semplicemente non mi fido di grandi script di installazione con root. E se non pensi che MacPorts diffonda i file su molte directory, guarda le istruzioni di disinstallazione: guide.macports.org/chunked/…
Duke

4

È una cartella invisibile. Basta premere Command+ Shift+ G(ti porta alla voce di menu Vai alla cartella) e digitare /etc/.

Quindi ti porterà all'interno di quella cartella.


3

Questo mi aiuta molto:

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

Funziona anche per Mac OS X Lion: D

.:MODIFICARE:. Nel mio caso il prefepane consente solo di avviare e arrestare mysql, ma dopo alcuni problemi l'ho disinstallato. Se hai bisogno di un'applicazione per eseguire query e creare DB, puoi utilizzare: Sequel Pro (è gratuito) o Navicat

Se hai bisogno di avviare e fermare mysql in ~ / .bash_profile puoi aggiungere queste righe:

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

Dopo aver ricaricato la console basta chiamare:

$mysql_start 

o

$mysql_stop 

agendo sull'azione desiderata. La speranza ti ha aiutato.


Il prefpane di MySQL funziona per te in Lion? Cioè, può attivare / disattivare MySQL?
Matt Sephton

1
non ho bisogno del prefpane, ma questo risolve la tua domanda? : Stackoverflow.com/questions/3027479/...
workdreamer

Ma il prefpane ti consente solo di avviare e interrompere il mysql. Ho modificato nuovamente il mio post perché qui non è formattato.
workdreamer

1

Sono d'accordo con Benjamin, installa MAMP o MacPorts ( http://www.macports.org/ ). Mantenere separata l'installazione di PHP è più semplice ed evita di rovinare l'installazione di PHP di base se si commettono errori!

MacPorts è leggermente migliore per l'installazione di altri software, come ImageMagick. Vedere un elenco completo dei port disponibili su http://www.macports.org/ports.php

MAMP fa solo PHP, Apache e MySQL, quindi tutti i futuri moduli PHP che desideri dovranno essere abilitati manualmente. Tuttavia è incredibilmente facile da usare.


0

Considerando che non è ancora stato rilasciato, presumo che questa sia una domanda da fare in anticipo o che tu abbia la build di uno sviluppatore. Come ha detto Benjamin, MAMP è il modo più semplice. Tuttavia, se desideri un'installazione nativa, il processo dovrebbe essere come 10.5. PHP viene installato su OS X di default (non sempre attivato per alcuni), basta scaricare la versione a 32 bit di MySQL, avviare Apache e dovresti essere a posto. Potrebbe essere necessario modificare Apache per PHP o MySQL, a seconda di quali build sono presenti. Non ho dovuto modificare nulla per farlo funzionare.


Per interesse: Snow Leopard supporta i 64 bit, quindi perché scegliere il 32 bit di MySQL?
Matt Sephton

1
Leopard, e anche Tiger per la maggior parte delle cose credo, sono in grado di 64 bit. MySQL a 64 bit ha alcuni problemi con alcuni altri pacchetti, non necessariamente correlati a PHP, ma diciamo che ha provato Python su tutta la linea: MySQL a 64 bit causa seri problemi con il pacchetto MySQLDB. È completamente utilizzabile, ma purtroppo non tutte le cose sono ancora riuscite.
machuga


0

Se hai eseguito l'aggiornamento a Mac OS X 10.8 Mountain Lion e in precedenza avevi un sistema funzionante, tutto ciò che dovresti fare è riattivare PHP come nel passaggio 1 della risposta scelta sopra.

Potresti anche trovare utile il seguente pannello delle preferenze per la gestione della "condivisione web" (server web Apache), che sostituisce le funzionalità di sistema rimosse in OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -Leone/

Ho anche dovuto aggiungere nuovamente la mia riga di inclusione degli host virtuali a httpd.conf


0

Oltre alle versioni native, potresti provare BitNami MAMP Stacks (disclaimer, io sono uno degli sviluppatori). Sono pacchetti all-in-one completamente gratuiti di Apache, MySQL, PHP e molte altre librerie e utilità di terze parti che sono utili durante lo sviluppo locale. In particolare, sono completamente autonomi in modo da poterne installare diversi contemporaneamente, con versioni diverse di Apache e MySQL e non interferiranno tra loro. Puoi ottenerli da http://bitnami.org/stack/mampstack o direttamente dall'app store di Mac OS X https://itunes.apple.com/app/mamp-stack/id571310406



0

C'è un'ottima guida qui:

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

Tuttavia, non ha funzionato per me al primo tentativo. Ho trovato questo suggerimento: esegui "httpd -t" in Terminao per controllare la sintassi dei tuoi file di configurazione. Risulta che usando il copia e incolla dal tutorial ha introdotto alcuni caratteri strani. Dopo aver risolto questo problema, ha funzionato alla grande. Ci sono anche alcuni link dalla guida per aggiungere MySQL.

Questo ha funzionato molto meglio per me rispetto a MAMP. Con MAMP, ho avuto ritardi di circa 20 secondi prima che le modifiche al file .php si riflettessero nel browser quando aggiorni, anche se hai cancellato la cache, la cronologia, i cookie, ecc.

Questo problema è stato risolto in MAMP PRO, ma MAMP PRO aveva un nuovo problema: i file .php venivano scaricati invece di essere renderizzati come una pagina nel browser! Ho contattato l'assistenza e non sapevano cosa stesse succedendo.

Il server Apache integrato non presentava nessuno di questi problemi. Sicuramente la strada da percorrere. La guida qui sotto è quasi identica a quella sopra, ma contiene commenti degli utenti utili:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.