Hinweis Wenn diese Software für Sie nützlich war, bitte ich Sie , das Repository zu markieren , damit ich weiß, dass die Software verwendet wird. Denken Sie bitte auch darüber nach, das Projekt zu sponsern, da ich es in meiner Freizeit mache. Danke schön!
PHP Monitor (oder phpmon ) ist eine leichte macOS-Dienstprogramm-App, die auf Ihrem Mac läuft und die aktive PHP-Version in Ihrer Statusleiste anzeigt. Es ist eng in Laravel Valet integriert. Sie müssen es also einrichten, wenn Sie alle Funktionen der App nutzen möchten (Informationen zum Einrichten Ihrer Umgebung finden Sie in den FAQ unten).
Screenshot: Zeigt die wichtigsten Funktionen von PHP Monitor.
Es ist super praktisch, zwischen verschiedenen PHP-Versionen zu wechseln. Sie erhalten sogar Benachrichtigungen (natürlich nur, wenn Sie sich dafür entscheiden)!
PHP Monitor bietet Ihnen außerdem schnellen Zugriff auf verschiedene nützliche Funktionen (wie den Zugriff auf Konfigurationsdateien, das Neustarten von Diensten und mehr).
Sie können auch neue Domänen als Links hinzufügen, Websites isolieren, verschiedene Dienste verwalten und Erste Hilfe leisten, um alle Arten häufiger Probleme mit PHP-Links zu beheben.
PHP Monitor ist eine universelle Anwendung, die nativ auf Apple Silicon- und Intel-basierten Macs läuft.
/usr/local/homebrew
oder /opt/homebrew
)php
Formel ist installiertAb PHP Monitor 6.0 muss Laravel Valet nicht mehr installiert sein, damit PHP Monitor funktioniert. Um Zugriff auf alle Funktionen von PHP Monitor zu erhalten, wird jedoch die Installation von Valet empfohlen .
Weitere Informationen finden Sie unter SECURITY.md, um herauszufinden, welche Version der App derzeit unterstützt wird.
Auch hier gilt: Wenn Sie Zugriff auf alle Funktionen von PHP Monitor haben möchten, empfehle ich, zunächst Laravel Valet zu installieren:
composer global require laravel/valet
valet install
valet trust
Derzeit ist PHP Monitor mit Laravel Valet v2, v3 und v4 kompatibel. Jede dieser Versionen von Valet unterstützt leicht unterschiedliche PHP-Versionen, weshalb ältere Versionen weiterhin unterstützt werden. Bitte beachten Sie, dass einige Funktionen in älteren Versionen von Valet nicht verfügbar sind, wie z. B. die Site-Isolierung.
Sobald dies erledigt ist, können Sie die neueste Version herunterladen, entpacken und in /Applications
ablegen.
Vor Version 5.8 war dies die empfohlene Methode zur Installation von PHP Monitor.
Wenn Sie die App lieber über Homebrew installieren möchten, können Sie auch Folgendes ausführen:
brew tap nicoverbruggen/homebrew-cask
brew install --cask phpmon
Die empfohlene Methode zum Aktualisieren der App auf die neueste Version ist die Verwendung des integrierten Updaters .
Wenn Sie über eine sehr langsame Internetverbindung verfügen, meldet der Updater möglicherweise, dass beim Download eine Zeitüberschreitung aufgetreten ist. In diesem Fall möchten Sie möglicherweise manuell aktualisieren, indem Sie die neueste Version herunterladen und die App in /Applications
ablegen.
(Sie können PHP Monitor auch mit Homebrew aktualisieren. Dazu müssen Sie die App jedoch jedes Mal genehmigen, wenn ein Update installiert wird. Wenn Sie den integrierten Updater verwenden, ist dies nicht erforderlich.)
Wenn Sie den Launcher Ihrer Wahl integrieren möchten, können Sie auch einen Alfred-Workflow oder eine Raycast-Erweiterung herunterladen, die mit PHP Monitor funktioniert.
Damit diese funktionieren, muss die App im Hintergrund ausgeführt werden und das Kontrollkästchen „Integrationen von Drittanbietern zulassen“ muss in den Einstellungen aktiviert sein (standardmäßig).
Ja, die App ist signiert und notariell beglaubigt, was bedeutet, dass Sie lediglich den ersten Start (oder jedes Update) genehmigen müssen.
Ich wollte in der Lage sein , auf einen Blick zu sehen, welche PHP-Version verknüpft ist, und den Umgang mit Laravel Valet in einer einfachen App zu verwalten, ohne mich jedes Mal mit dem Terminal auseinandersetzen zu müssen.
Anfangs hatte ich dafür einen Alfred-Workflow – der wurde aber mittlerweile durch dieses Dienstprogramm ersetzt, das auch gute Arbeit dabei leistet, zusätzliche Informationen auf einen Blick anzuzeigen, wie die aktuelle PHP-Version, Speicherlimits und mehr.
Wenn Sie Ihr lokales PHP-Setup nicht anpassen müssen und einfach nur eine einfache und sofort einsatzbereite Umgebung benötigen, um mit dem Codieren zu beginnen, ist Laravel Herd für viele Anwendungsfälle wahrscheinlich mehr als ausreichend.
Wenn Sie mehr Anpassung und Flexibilität benötigen, empfehle ich Ihnen, PHP Monitor in Kombination mit Laravel Valet oder einer anderen Lösung wie Docker (z. B. mit Laravel Sail) in Betracht zu ziehen.
PHP Monitor führt einige Integritätsprüfungen durch, um ein gutes Erlebnis bei der Nutzung der App zu gewährleisten. Sie erhalten eine Meldung, dass PHP Monitor in verschiedenen Szenarien nicht ordnungsgemäß funktioniert.
Befolgen Sie die Anweisungen in der Warnung, um etwaige Probleme zu beheben.
(Wenn die App beim Start abstürzt, ohne dass Ihnen eine dieser Meldungen angezeigt wird, liegt möglicherweise ein nicht standardmäßiges Homebrew- und Valet-Setup vor. Diese werden nicht unterstützt.)
Wenn Sie Probleme haben, sollten Sie als Erstes die neueste Version von PHP Monitor und Laravel Valet installieren. Dadurch können verschiedene Probleme gelöst werden. Um Valet zu aktualisieren, führen Sie
composer global update
aus. Vergessen Sie nicht, nach dem Upgradevalet install
auszuführen.
Wenn Sie immer noch Probleme haben, finden Sie hier einige häufig gestellte Fragen und Antworten sowie Probleme und Lösungen:
Alle stabilen und unterstützten PHP-Versionen werden auch von PHP Monitor unterstützt. Abhängig davon, welche Valet-Version Sie installiert haben, können sich jedoch die für Umstellungszwecke zur Verfügung gestellten PHP-Versionen unterscheiden.
Hinweis Wenn Sie PHP-Versionen installiert haben, die von PHP Monitor erkannt werden können, aber von der aktuell aktiven Version von Valet nicht unterstützt werden, werden Sie durch ein Element im Menü mit einem Ausrufezeichen-Emoji darauf aufmerksam gemacht. (
)
Backports, die über die PHP Version Manager -Funktionalität von PHP Monitor installierbar sind, unterliegen der Verfügbarkeit über diesen Tap.
PHP-Erweiterungen, die über die PHP Extension Manager- Funktionalität von PHP Monitor installierbar sind, unterliegen der Verfügbarkeit über diesen Tap.
Für maximale Kompatibilität mit älteren PHP-Versionen möchten Sie möglicherweise weiterhin Valet 2 oder 3 verwenden. Weitere Informationen finden Sie unter SECURITY.md, um herauszufinden, welche PHP-Versionen mit verschiedenen Versionen von Valet unterstützt werden.
Vorausgesetzt, Sie haben die php
-Formel installiert, ist die neueste stabile Version von PHP installiert. Zum Zeitpunkt des Schreibens ist dies PHP 8.3.
Sie können andere unterstützte Versionen von PHP über den PHP Version Manager von PHP Monitor installieren. (Sie können PHP-Versionen auch manuell installieren oder aktualisieren, dies wird jedoch nicht empfohlen.)
Bitte beachten Sie, dass die Installation oder Aktualisierung von PHP-Versionen, auch wenn sie über den PHP-Versionsmanager von PHP Monitor erfolgt, dazu führen kann, dass andere erforderliche Formelabhängigkeiten (erforderliche Software, die erforderlich ist, um diese PHP-Versionen funktionsfähig zu halten) aktualisiert werden. In diesem Fall ist es möglicherweise nicht sehr transparent, aber das liegt wahrscheinlich daran, dass die Installation einer PHP-Version länger dauert als erwartet: Normalerweise werden auch andere Abhängigkeiten installiert.
Darüber hinaus kann das Upgrade einer bestimmten PHP-Version auch dazu führen, dass andere installierte PHP-Versionen auf einmal aktualisiert werden, wenn die Abhängigkeiten für diese eine Version auch für die anderen (neueren) PHP-Versionen gelten. Es ist etwas schwierig, PHP-Versionen über Homebrew zu verwalten, und selbst PHP Monitor kann auf einige Schwierigkeiten stoßen.
Wenn Sie auf ein seltsames Szenario oder eine Fehlfunktion stoßen, öffnen Sie bitte ein Problem im Issue-Tracker und nehmen Sie Kontakt mit uns auf. Ich möchte diesen Prozess weiter verbessern, um ihn so narrensicher wie möglich zu machen.
Hinweis : Die Verwendung von PHP Monitor bei der Verwaltung von PHP-Versionen kann zu vorübergehenden Alias-Konflikten führen, während der Core-Tap-Alias und der Tap-Alias auf eine andere Version von PHP verweisen. Dies stellt jedoch im Allgemeinen eine geringfügige Unannehmlichkeit dar, da dies normalerweise nur bei einer neuen PHP-Version der Fall ist Veröffentlichungen.
Wenn Sie macOS Ventura oder neuer verwenden, können Sie im Menü „Einstellungen“ die Option „PHP Monitor beim Anmelden starten“ auswählen.
Wenn Sie eine ältere Version von macOS verwenden, können Sie dies tun, indem Sie PHP Monitor.app in den Abschnitt „Anmeldeelemente“ unter „Systemeinstellungen“ > „Benutzer & Gruppen“ für Ihr Konto ziehen.
Super praktisch!
Der Dienstmanager ist deaktiviert und alle anderen offensichtlichen Laravel Valet-Integrationen (Konfigurationsfinder, Domänenliste, Fix My Valet) sind ebenfalls deaktiviert.
(Die meisten anderen Funktionen bleiben verfügbar.)
Wenn Sie Ihren Computer zum ersten Mal mit PHP Monitor einrichten möchten, gehen Sie wie folgt vor.
Ich habe auch ein Video-Tutorial erstellt, das möglicherweise einfacher zu befolgen ist. Wenn Sie nur die Terminalbefehle möchten, lesen Sie weiter.
Installieren Sie zuerst Homebrew. Befolgen Sie zunächst die dortigen Anweisungen!
Dann müssen Sie Ihren PATH einrichten.
nano .zshrc
Stellen Sie sicher, dass die folgende Zeile nicht in den Kommentaren enthalten ist:
# on an Intel Mac
export PATH=$HOME/bin:/usr/local/bin:$PATH
Wenn Sie einen Apple Silicon-basierten Mac verwenden, müssen Sie Folgendes hinzufügen:
# on an M1 Mac
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
und fügen Sie Folgendes zu Ihrer .zshrc
Datei hinzu, aber fügen Sie dies VOR den Homebrew-PATH-Ergänzungen hinzu:
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
Wenn Sie composer
und Homebrew-Binärdateien hinzufügen, stellen Sie sicher, dass Homebrew-Binärdateien bevorzugt werden, indem Sie diese zuletzt zum Pfad hinzufügen. Auf meinem System sieht das so aus:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
Wenn Sie nicht Apple Silicon nutzen, sollten Sie die dritte Zeile entfernen.
Installieren Sie die php
und composer
Formeln:
brew install php composer
Stellen Sie sicher, dass PHP korrekt verknüpft ist:
which php
sollte Folgendes zurückgeben: /usr/local/bin/php
(oder /opt/homebrew/bin/php
, wenn Sie Apple Silicon verwenden)
Wenn Sie Laravel Valet nicht benötigen, können Sie hier aufhören. PHP Monitor funktioniert im Standalone-Modus so.
Wenn Sie auch Valet haben möchten, fahren Sie fort und installieren Sie Valet mit Composer wie folgt.
composer global require laravel/valet
Um optimale Ergebnisse zu erzielen, sollten Sie Ihre PHP-Plattform für globale Abhängigkeiten auf die älteste PHP-Version beschränken, die Sie ausführen möchten. Wenn es sich bei dieser Version um PHP 7.0 handelt, könnte Ihre ~/.composer/composer.json
Datei so aussehen (bitte passen Sie die Version entsprechend an!):
{
"require": {
"laravel/valet": "^3.0",
},
"config": {
"platform": {
"php": "7.0"
}
}
}
Führen Sie composer global update
erneut aus. Dadurch wird sichergestellt, dass Valet nicht kaputt geht, wenn Sie zu einer anderen globalen PHP-Version wechseln. Wenn dies der Fall ist, teilt Ihnen PHP Monitor mit, was Sie dagegen tun können.
Installieren Sie dann Valet:
valet install
Dadurch sollte dnsmasq
installiert und Valet eingerichtet werden. Super, fast geschafft!
valet trust
Führen Sie abschließend PHP Monitor aus. Da die App notariell beglaubigt und mit einer Entwickler-ID signiert ist, sollte sie funktionieren. Sie müssen den ersten Start der App genehmigen, sollten aber jetzt startklar sein.
PHP Monitor prüft bei jedem Start der App, ob ein Update verfügbar ist.
Sie können dieses Verhalten deaktivieren, indem Sie zu den Einstellungen gehen (über das PHP-Monitor-Symbol in der Menüleiste) und die Option „Automatisch nach Updates suchen“ deaktivieren. (Sie können jederzeit manuell nach Updates suchen.)
Am einfachsten ist es, einfach den integrierten PHP-Versionsmanager zu verwenden, mit dem Sie Ihre PHP-Versionen mit einem Klick aktualisieren können.
Wenn Sie dies manuell tun möchten, können Sie den folgenden Anweisungen folgen.
Es ist leicht, hier einen Fehler zu machen und am Ende eine nicht verknüpfte PHP-Version zu haben oder Versionen im PHP-Monitor zu fehlen.
Folgendes mache ich normalerweise:
brew update-reset
ausbrew upgrade
ausSollten danach irgendwelche PHP-Versionen in PHP Monitor fehlen, führen Sie bitte Folgendes für die fehlenden Versionen aus:
brew uninstall php@xx
aus (wobei xx
die Version ist)brew cleanup
aus (bei Berechtigungsproblemen müssen Sie den Ordner möglicherweise manuell bereinigen)brew install php@xx
aus (wobei xx
die Version ist) Möglicherweise müssen Sie auch nach dem Upgrade noch brew link php
ausführen.
Das ist es. Starten Sie jetzt PHP Monitor erneut und Sie sollten goldrichtig sein!
Versuchen Sie die Installation erneut mit brew install php
.
Dies sollte das Problem beheben! Wenn das Problem dadurch nicht behoben wird, führen Sie brew link php --force
aus. (Anschließend müssen Sie möglicherweise Ihr Terminal neu starten, um sicherzustellen, dass die neue verknüpfte Version erkannt wird.)
brew install php
brew link php --force
Wenn Sie Ihre .test
Domain besuchen und nach dem Wechsel zu einer anderen PHP-Version die Meldung 502 (Bad Gateway) erhalten, haben Sie es mit einem häufigen Problem zu tun.
Dieses Problem wird normalerweise durch ein Upgrade von Valet und die erneute Ausführung valet install
gelöst.
composer global update
valet install
Wenn nach etwa 30 Sekunden der Fehler 502 (Bad Gateway) angezeigt wird, liegt bei Ihrer Anfrage wahrscheinlich eine Zeitüberschreitung vor. Möglicherweise müssen Sie ein Leistungsproblem mit Ihrem eigenen Code lösen.
PHP Monitor teilt Ihnen mit, dass eine PHP-Installation fehlerhaft ist, wenn die Konfiguration Warnungen oder Fehler bei der Ermittlung der Versionsnummer verursacht.
Da PHP Monitor die verknüpfte Version über Homebrew ändert, sollten sowohl Valet als auch Ihr Terminal (CLI) die neue PHP-Version verwenden.
Dies ist jedoch auf Ihrem System möglicherweise nicht der Fall. Wenn dies nicht der Fall ist, ist möglicherweise eine bestimmte PHP-Version verlinkt. In diesem Fall müssen Sie möglicherweise Ihre .bashrc
oder .zshrc
Datei ändern, in der der PATH festgelegt ist (abhängig vom verwendeten Terminal).
Sie können herausfinden, welche PHP-Version verwendet wird, indem Sie which php
ausführen.
Sie können herausfinden, was genau das Problem verursacht, indem Sie einen Befehl ausführen. Auf Intel können Sie Folgendes ausführen (ersetzen Sie 7.4
durch die fehlerhafte Version):
/usr/local/opt/[email protected]/bin/php -r "print phpversion();"
Auf Apple Silicon können Sie Folgendes ausführen (ersetzen Sie 7.4
durch die fehlerhafte Version):
/opt/homebrew/opt/[email protected]/bin/php -r "print phpversion();"
Hier in der Ausgabe sollte ein Fehler oder eine Warnung angezeigt werden.
Normalerweise handelt es sich hierbei um eine doppelte Erweiterungsdeklaration, die Probleme verursacht, oder um eine Erweiterung, die nicht geladen werden konnte. Sie müssen dieses Problem selbst lösen (normalerweise durch Entfernen der problematischen Erweiterung oder Neuinstallation).
Stellen Sie sicher, dass Sie mindestens Valet 3.0 installiert haben, da in dieser Version von Valet die Unterstützung für Isolation hinzugefügt wurde. (Bitte beachten Sie, dass diese Version von Valet die Unterstützung für PHP 5.6 einstellt.)
Der Wert, den Sie in Ihrer .ini
Datei angegeben haben, ist ungültig. Wenn dies der Fall ist, versucht PHP, Ihren Wert in Bytes zu analysieren, was normalerweise unbeabsichtigt ist. ( 1GB
wird in nur wenige Bytes aufgelöst und alle Ihre Anwendungen haben nicht mehr genügend Arbeitsspeicher!)
Sie müssen einen Wert wie diesen angeben: 1024K
, 256M
, 1G
. Alternativ ist auch -1
oder nur eine Ganzzahl zulässig (was dazu führt, dass die Anzahl N Bytes die Grenze darstellt).
Beispiel : Der Versuch, beispielsweise 1GB
als Speicherlimit zu verwenden, führt zu diesem Ausrufezeichen. Der richtige Weg, ein 1-GB-Limit festzulegen, besteht darin, 1G
als Wert zu verwenden. (Hinweis: An den angezeigten Wert wird aus Gründen der Übersichtlichkeit B
angehängt. Wenn Sie also 1G
festlegen, beträgt der von PHP Monitor gemeldete Wert 1 GB.)
(Wenn Sie Valet verwenden, können Sie diese Grenzwerte in der Datei .conf.d/php-memory-limits.ini
anpassen. Andernfalls müssen Sie möglicherweise php.ini
anpassen.)
Die App sucht in den relevanten .ini
Dateien nach einem bestimmten Muster. Für regelmäßige Erweiterungen:
extension="*.so"
; extension="*.so"
Für Zend-Erweiterungen:
zend_extension="*.so"
; zend_extension="*.so"
Das *
ist ein Platzhalter und der Name der Erweiterung. Wenn Sie die Erweiterung auskommentiert haben, stellen Sie sicher, dass Sie sie mit einem Semikolon (;) und einem einzelnen Leerzeichen nach dem Semikolon auskommentiert haben, damit PHP Monitor sie erkennen kann.
Seit Version 3.4 werden alle geladenen INI-Dateien als Quelle verwendet, um zu bestimmen, welche Erweiterungen aktiviert sind.
Wenn Sie PHP Monitor auf einem Intel-Rechner oder einem Apple Silicon-Rechner mit aktiviertem Rosetta verwenden, erwartet PHP Monitor die Haupt-Homebrew-Binärdatei in /usr/local/bin/brew
.
Wenn Sie PHP Monitor auf Apple Silicon ohne Rosetta verwenden, erwartet PHP Monitor die Haupt-Homebrew-Binärdatei in /opt/homebrew/bin/brew
.
Wenn hier ein Problem auftritt, erhalten Sie beim Start eine Benachrichtigung.
Stellen Sie sicher, dass die Version von Homebrew, die Sie normalerweise ausführen, mit der übereinstimmt, die PHP Monitor erwartet. Wenn Sie beispielsweise M1-Hardware verwenden, aber immer noch Rosetta für Homebrew verwenden, müssen Sie PHP Monitor auch unter Rosetta ausführen.
PHP Monitor ist eine universelle App und unterstützt beide Architekturen. Erfahren Sie hier, wie Sie Rosetta mit PHP Monitor aktivieren.
Die App sucht automatisch nach Updates, was die wahrscheinlichste Ursache ist.
Dies geschieht beim Start (sofern nicht deaktiviert) und die App überprüft direkt die auf GitHub gehostete Caskdatei. Diese Daten werden nicht für Analysezwecke verwendet und werden dies auch nicht tun (und das ist meines Wissens auch nicht möglich).
Ich kann brew
auch nicht daran hindern, Dinge über das Netzwerk zu erledigen, wenn PHP Monitor die Binärdatei verwendet.
Die App enthält eine Internetzugriffsrichtliniendatei. Wenn Sie also etwas wie Little Snitch verwenden, sollte eine Beschreibung vorhanden sein, warum diese Anrufe erfolgen.
Sie müssen diese Voreinstellungen in einer JSON-Datei einrichten, die sich in ~/.config/phpmon/config.json
befindet.
Sie müssen mindestens eine gültige Voreinstellung eingerichtet haben, damit diese Voreinstellungen in PHP Monitor funktionieren.
Hier ist ein Beispiel für eine funktionierende Voreinstellung:
{ "scan_apps": [], "Dienste": [], „Voreinstellungen“: [ { „name“: „Legacy-Projekt“, "php": "8.0", "Erweiterungen": { „xdebug“: falsch }, "Konfiguration": { „memory_limit“: „128 MB“, „upload_max_filesize“: „128 MB“, „post_max_size“: „128M“ } } ], "exportieren": {} }
Sie können den php
Schlüssel in der Voreinstellung weglassen, wenn Sie nicht möchten, dass die Voreinstellung auf eine bestimmte PHP-Version umschaltet.
Warnung: Sie müssen PHP Monitor neu starten, damit diese Änderungen erkannt werden.
Info Homebrew-Dienste werden nicht angezeigt, wenn Sie Valet im Standalone-Modus verwenden.
Sie müssen diese Dienste in einer JSON-Datei einrichten, die sich in ~/.config/phpmon/config.json
befindet.
Sie können in der Konfigurationsdatei benutzerdefinierte Dienste für Homebrew-Dienste angeben, die als Ihr eigener Benutzer (nicht als Root) ausgeführt werden.
Info Wenn Ihr Dienst als Root ausgeführt werden muss, kann er derzeit nicht zu PHP Monitor hinzugefügt werden.
Sie können herausfinden, welche Dienste verfügbar sind, indem Sie brew services list
ausführen.
Hier ist ein Beispiel, in dem wir die Dienste mailhog
und mysql
zu PHP Monitor hinzufügen:
{ „scan_apps“: [], „services“: [„mailhog“, „mysql“], "Voreinstellungen": [], "exportieren": {} }
Warnung: Sie müssen PHP Monitor neu starten, damit diese Änderungen erkannt werden.
Sie müssen diese benutzerdefinierten Umgebungsvariablen in einer JSON-Datei konfigurieren, die sich in ~/.config/phpmon/config.json
befindet.
PHP Monitor verwendet eine Standard-Shell-Umgebung ohne benutzerdefinierte Umgebungsvariablen. Sie müssen benutzerdefinierte Umgebungsvariablen manuell festlegen. Diese werden dann zB für Composer verwendet.
Hier ist ein Beispiel für eine funktionierende Umgebungsvariable COMPOSER_HOME
, die respektiert wird:
{ „scan_apps“: [], "Dienste": [], "Voreinstellungen": [], „exportieren“: { „COMPOSER_HOME“: „/absolute/path/to/composer/folder“ } }
Warnung: Sie müssen PHP Monitor neu starten, damit diese Änderungen erkannt werden.
Wenn Sie eine Domäne auswählen und mit der rechten Maustaste darauf klicken, können Sie diese Verzeichnisse mit verschiedenen Anwendungen öffnen. Dies kann dazu beitragen, Ihren Arbeitsablauf zu beschleunigen. Damit diese Apps jedoch angezeigt werden, müssen sie zuerst erkannt werden.
Die unterstützten Apps sind: PhpStorm, Visual Studio Code, Sublime Text, Sublime Merge, iTerm .
Alle diese Apps sollten unabhängig von ihrem Speicherort auf Ihrem System korrekt erkannt werden. Wenn Sie es mit open -a "appname"
öffnen können, sollte die App erkannt werden und funktionieren. Wenn Sie die App umbenannt haben, kann es zu Problemen bei der Erkennung kommen.
Um zu sehen, welche Dateien zur Bestimmung der Verfügbarkeit überprüft werden, sehen Sie sich diese Datei an.
Sie können Ihre eigenen Apps hinzufügen, indem Sie eine Datei ~/.config/phpmon/config.json
erstellen und bearbeiten und sicherstellen, dass der Schlüssel scan_apps
festgelegt ist:
{ „scan_apps“: [„Xcode“, „Kraken“] }
Sie können so viele Apps in das scan_apps
-Array einfügen, wie Sie möchten, und PHP Monitor prüft, ob diese Apps vorhanden sind. Sie müssen nicht den vollständigen Pfad festlegen, nur der Name der App sollte funktionieren. Allerdings unterstützen nicht alle Apps das Öffnen eines Ordners, sodass Ihr Erfolg unterschiedlich sein kann.
Warnung: Sie müssen PHP Monitor neu starten, damit diese Änderungen erkannt werden.
PHP Monitor unterstützt standardmäßig die Integration von Drittanbieter-Apps. Diese Funktion ist in den Einstellungen aktiviert, sofern Sie sie nicht deaktivieren.
Sie können den offiziellen Alfred-Workflow oder die Raycast-Erweiterung herunterladen.
Wenn Sie selbst etwas integrieren möchten, müssen Sie lediglich das phpmon://
-Protokoll verwenden und sicherstellen, dass die Integration von Drittanbieter-Apps in den Einstellungen (in PHP Monitor) aktiviert ist.
Mithilfe von App-Rückrufen ermöglichen macOS und PHP Monitor den Aufruf von Folgendem:
Die Datei composer.json
im Stammverzeichnis des Ordners (sofern vorhanden) wird gescannt und interpretiert.
Wenn die Version in platform
festgelegt ist, hat sie Vorrang. Wenn die Version nicht in platform
festgelegt ist, aber require
ist (am häufigsten), wird diese Version verwendet.
Neben der Versionsnummer wird ein Häkchen angezeigt, wenn die aktuell aktivierte PHP-Version mit der zum Betrieb der Site erforderlichen Version kompatibel ist.
Dies wird durch die Auswertung der PHP-Anforderungsbeschränkung bestimmt (z. B. ^8.0
, ~8.0
oder eine bestimmte Version: 8.0
).
PHP Monitor überprüft derzeit Ihre Datei composer.json
, um herauszufinden, welches Projekt Sie ausführen.
Dieser Ansatz ist viel schneller, als nach einem Treiber zu fragen, wenn Sie viele Websites verlinkt haben, ist aber etwas weniger zuverlässig, da das Framework oder der Projekttyp, der über composer.json
abgeleitet wird, möglicherweise nicht 100 % genau ist.
Sie können Valet jederzeit über die Befehlszeile fragen, falls dies erforderlich sein sollte. Meiner Erfahrung nach hat das Abrufen der Treiber die App unnötig verlangsamt.
Sie können jetzt Erste Hilfe & Dienste > Homebrew-Berechtigungen wiederherstellen verwenden, um dieses Problem (vorübergehend) zu beheben und ein sauberes und schmerzloses brew upgrade
oder brew cleanup
zu ermöglichen.
Wenn Sie mehr wissen möchten, lesen Sie diese Ausgabe, um weitere Informationen darüber zu erhalten, warum dies erforderlich ist.
Bitte nehmen Sie Kontakt mit uns auf und eröffnen Sie ein Problem. PHP Monitor sollte nicht abstürzen ... (es sei denn, Sie entfernen PHP tatsächlich, während die App ausgeführt wird, das gilt als normales Verhalten!)
Wenn Sie einen Absturz melden möchten, fügen Sie bitte die zugehörigen Protokolldateien bei, damit ich herausfinden kann, was genau schief gelaufen ist.
Um die Protokolle zu finden, werfen Sie einen Blick in ~/Library/Logs/DiagnosticReports
(im Finder) und prüfen Sie, ob dort Protokolldateien vorhanden sind, die mit „PHP Monitor“ beginnen.
Darüber hinaus können Sie mir dabei helfen, noch mehr Informationen herauszufinden, indem Sie mir Ihr ausführliches Protokoll für Ihre letzte Sitzung von PHP Monitor senden. Die Protokollierung ist standardmäßig deaktiviert.
Sie können eine zusätzliche ausführliche Protokollierung starten, indem Sie Folgendes ausführen: touch ~/.config/phpmon/verbose
und PHP Monitor neu starten. Den neuesten Login finden Sie unter: ~/.config/phpmon/last_session.log
. Bitte fügen Sie es dem entsprechenden Fehlerbericht bei.
Ich habe keine Tracking- oder Analysesoftware beigefügt. Wenn Sie also auf Probleme stoßen, lassen Sie es mich über ein Problem wissen.
PHP Monitor ist völlig kostenlos erhältlich, aber wenn Sie es sich leisten können, hilft eine Spende, das Projekt am Leben zu halten und die App zu warten.
Oben in diesem Repo finden Sie einen Sponsor-Link oder Sie können hier auf den Link klicken, um zu meiner Sponsoring-Seite zu gelangen.
Spenden tragen wirklich dazu bei, die Kosten des Apple Developer Program zu decken, und motivieren mich, außerhalb der Arbeitszeit weiter an PHP Monitor zu arbeiten (ich habe einen Tagesjob!).
Besonderer Dank geht an:
Vielen Dank für Ihre Beiträge, freundlichen Worte und Unterstützung.
Diese App führt php-config --version
regelmäßig im Hintergrund aus, normalerweise immer dann, wenn Ihre Homebrew-Konfiguration geändert wird. Ein Dateisystem-Watcher wird verwendet, um festzustellen, ob sich etwas im bin
Verzeichnis Ihres Homebrew ändert.
PHP Monitor überprüft außerdem Ihre .ini
Dateien auf Erweiterungen und lädt weitere Informationen zu Ihren Limits (Speicherlimit, POST-Limit, Upload-Limit). Siehe auch den Abschnitt zur Erkennung von Konfigurationsänderungen weiter unten.
Dieses Dienstprogramm erkennt, welche PHP-Versionen Sie über Homebrew installiert haben, und ermöglicht Ihnen dann den Wechsel zwischen ihnen.
Der Switcher deaktiviert alle PHP-FPM-Dienste, die nicht zu der Version gehören, die Sie verwenden möchten, und verknüpft die gewünschte PHP-Version. Anschließend wird der FPM-Prozess Ihrer gewünschten PHP-Version neu gestartet. Dies geschieht alles parallel, daher sollte dies etwas schneller sein als der Switcher von Valet.
Wenn Sie Valet 3 oder höher verwenden, werden bei Bedarf auch Versionen von PHP-FPM gestartet oder gestoppt, die erforderlich sind, um isolierte Websites am Laufen zu halten.
PHP Monitor überwacht Ihr Dateisystem im entsprechenden conf.d
Verzeichnis auf die aktuell verknüpfte PHP-Version.
Immer wenn eine .ini-Datei geändert wird, versucht PHP Monitor, die aktuellen Informationen über die aktive PHP-Installation neu zu laden.
Wenn eine Erweiterung oder ein anderer Prozess in kurzer Zeit (< 1 Sekunde) mehrmals in eine einzelne Datei schreibt, lädt PHP Monitor die aktiven Konfigurationsinformationen erst nach einer Weile (mit einer leichten Verzögerung) neu.
Certificates
von Valet für diesen Site-Namen ein passendes Zertifikat vorhanden ist.composer.json
-Datei auf „bemerkenswerte Abhängigkeiten“. Wenn Sie laravel/framework
in Ihrem require
haben, besteht eine gute Chance, dass der Projekttyp schließlich Laravel
ist.Hinweis Wenn Sie einen Ordner in „Dokumente“, „Desktop“ oder „Downloads“ verknüpft haben, müssen Sie PHP Monitor möglicherweise Zugriff auf diese Verzeichnisse gewähren, damit PHP Monitor ordnungsgemäß funktioniert.
Wenn Sie mehr darüber erfahren möchten, wie das funktioniert, empfehle ich Ihnen, sich den Quellcode anzusehen.
Ich habe mein Bestes getan, um so viel wie möglich mit Anmerkungen zu versehen, und habe die Verwendung einer übermäßig komplizierten Architektur vermieden, um die Wartung des Codes so einfach wie möglich zu halten. Der Code ist noch lange nicht perfekt (es können noch viele Aufräumarbeiten durchgeführt werden!), aber die Anwendung funktioniert gut.
Ich habe auch einige Tests für wichtige Teile der Anwendung durchgeführt, die meiner Meinung nach getestet werden mussten. In Zukunft würde ich gerne noch mehr Tests für einige UI-Elemente hinzufügen, aber im Moment handelt es sich bei den Tests eher um Unit-Tests als um Feature-Tests.
Ausführlichere Informationen für Entwickler finden Sie in der Dokumentationsdatei für Entwickler.