Ich versuche, einen Weg zu finden, mit dem ich Apache und Mysql von MAMP PRO mithilfe der Befehlszeile starten und stoppen kann. Bisher hat alles, was ich suche, nur dazu beigetragen, MAMP PRO zu starten.
Vielen Dank.
Speichern Sie das Skript und erteilen Sie ausführbare Rechte wie: chmod +x start.sh
Dann verwenden Sie es wie ./start.sh Start
oder ./start.sh Stop
oder ./start.sh Restart
Ab mindestens MAMP 3.0.6 funktionieren die folgenden Versionen sowohl für die Free- als auch für die Pro-Version:
Öffnen Sie MAMP Pro oder Free, je nachdem, welches Sie verwenden:
Pro: open /Applications/MAMP\ PRO/MAMP\ PRO.app/
Kostenlos: open /Applications/MAMP/MAMP.app/
Dann cd in MAMP/bin:
cd /Applications/MAMP/bin
So starten Sie Apache & MySQL:
./start.sh
So stoppen Sie Apache & MySQL:
./stop.sh
Beachten Sie, dass Sie möglicherweise die obigen Befehle ausführen müssen.
Nach vielem Ausprobieren:
Beachten Sie, dass meine Ports auf die jeweiligen Standardeinstellungen der Anwendung eingestellt sind (Apache: 80, MySQL: 3306). Diese Befehle zeigen also, UND Sie müssen Sudo
mit Apache verwenden (was Sie auch in MAMP tun werden, wenn Sie es verwenden.) Port 80).
Sudo/Applications/MAMP/Library/bin/httpd -f "/ Library/Anwendungsunterstützung/appsolute/MAMP PRO/conf/httpd.conf" -k start
Sudo/Applications/MAMP/Library/bin/httpd -f "/ Library/Anwendungsunterstützung/appsolute/MAMP PRO/conf/httpd.conf" -k stop
Sudo/Applications/MAMP/Library/bin/httpd -f "/ Library/Anwendungsunterstützung/appsolute/MAMP PRO/conf/httpd.conf" -k neu starten
So starten Sie MySQL:
sh -c '/ Applications/MAMP/Bibliothek/bin/mysqld_safe --defaults-file =/Applications/MAMP/tmp/mysql/mein.cnf --port = 3306 --socket =/Applications/MAMP/tmp/mysql/mysql.sock --user = alex --pid-file =/Applications/MAMP/tmp/mysql/mysql.pid --log-error =/Applications/MAMP/logs/mysql_error_log.err --tmpdir =/Applications/MAMP/tmp/mysql/tmpdir --datadir =/Library/Application\Support/appsolute/MAMP\PRO/db/mysql & '
(Aus irgendeinem Grund müssen Sie Enter erneut drücken, um Ihre Eingabeaufforderung zu erhalten.)
Um MySQL zu stoppen:
sh -c '/ Applications/MAMP/Bibliothek/bin/mysqladmin -u root -proot --socket =/Applications/MAMP/tmp/mysql/mysql.sock shutdown'
Als Bonus zeigen die Indikatoren in der MAMP PRO.app-Benutzeroberfläche den korrekten Status dieser Apps in Echtzeit an, sodass Sie sich darauf verlassen können.
Ich habe MAMP PRO v2.0.3.
(sollte auch für MAMP Pro funktionieren).
Schauen Sie in den Ordner:
/Applications/MAMP/Library/bin
Sie sehen die Skripts, die zum Starten und Stoppen von Apache & MySQL verwendet werden.
Schauen Sie in eines der Skripte:
start.sh or stop.sh or startApache.sh etc
Sie werden sehen, dass sie das Programm verwenden:
apachectl
Sie können den Befehl restart mit apachectl verwenden. Also, stell einfach einen Alias in deine ~/.bash_rc-Datei ein :
alias rap='Sudo /Applications/MAMP/Library/bin/apachectl restart'
rap ist das Akronym, das ich für 'Restart Apache' gab. Presto! Ein Schritt von der Befehlszeile aus, ohne die MAMP-Anwendung öffnen zu müssen. Verwenden Sie dieselbe Logik, wenn Sie dies für MySQL einrichten möchten.
Um es mit MAMP Pro Version 4 zu starten, ist es
/Applications/MAMP\ PRO/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd startServers
Um es aufzuhalten, ist es
/Applications/MAMP\ PRO/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd stopServers
Traurig
Basierend auf den hier gegebenen Ratschlägen
" https://deliciousbrains.com/automating-local-wordpress-site-setup-scripts-part-3-automating-rest "
Und dann entdeckt - es ist in der Dokumentation HIDDEN genau hier versteckt.
https://documentation.mamp.info/de/MAMP-PRO-Mac/How-Tos/General/CreateHostDatabaseCommandLine
Ähnliches gilt für MAMP Pro 5:
/Applications/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd stopServers
anfang:
/Applications/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd startServers
Für MAMP Pro 5 verwenden
Sudo /Applications/MAMP/Library/bin/apachectl -f"/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf" -k restart
denken Sie daran, Sie müssen Sudo verwenden
Ein einfacher Weg wäre, die Anwendung herunterzufahren und neu zu starten. MAMP PRO startet und stoppt Apache und MySQL.
starten Sie MAMP PRO
open -a MAMP\ PRO
stoppen Sie MAMP PRO
osascript -e 'quit app "MAMP PRO"'
Wenn Sie MAMP PRO verwenden, gibt es eine einfachere Möglichkeit, MySQL zu stoppen.
MAMP PRO erstellt ein Shell-Skript in Ihrem Bibliotheksordner. Wenn Sie das Kennwort für den Root-Benutzer geändert haben (was Sie sollten), wird das aktualisierte Kennwort auch im Skript angezeigt. Die Datei finden Sie unter:
~/Library/Anwendungssupport/appsolute/MAMP PRO/stopMysql.sh
Um dies in die Befehlszeile einzugeben, müssen Sie die Leerzeichen durch Eingabe eines umgekehrten Schrägstrichs wie dem unten stehenden Befehl entfernen.
~/Library/Application\ Support/appsolute/MAMP\ PRO/stopMysql.sh
Die andere Sache, die ich auf meinem System fand, war, dass die Datei nicht das Ausführungsbit gesetzt hatte. Ich habe betrogen und habe Path Finder verwendet, um die Datei als ausführbar zu definieren. Sie können jedoch einfach Informationen über die Befehlszeile mit chmod finden.
Leider kann ich kein von MAMP PRO erstelltes Startskript finden. Ich wollte etwas einfaches finden, das für den Startbefehl in MySQLWorkbench verwendet werden kann, aber jetzt habe ich es einfach leer gelassen, da das Standard-MAMP-Skript nicht funktioniert. Ich kann ein Skript erstellen, das auf den hilfreichen Befehlen basiert, die Astockwell als Antwort auf diese Frage bereitgestellt hat.
Ich habe /Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup
gefunden, das für mich in MAMP PRO mit benutzerdefinierten Ports funktioniert.
Renn einfach
/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup start
oder
/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup stop
usw.