Catatan Jika perangkat lunak ini bermanfaat bagi Anda, saya minta Anda memberi bintang pada repositori , dengan cara itu saya tahu bahwa perangkat lunak tersebut sedang digunakan. Juga, mohon pertimbangkan untuk mensponsori untuk mendukung proyek ini, karena ini adalah sesuatu yang saya buat di waktu luang saya. Terima kasih!

PHP Monitor (atau phpmon ) adalah aplikasi utilitas macOS ringan yang berjalan di Mac Anda dan menampilkan versi PHP aktif di bilah status Anda. Ini terintegrasi erat dengan Laravel Valet, jadi Anda perlu mengaturnya jika Anda ingin menggunakan semua fungsi aplikasi (lihat FAQ di bawah dengan informasi tentang cara mengatur lingkungan Anda).

Tangkapan Layar: Menampilkan fungsionalitas utama PHP Monitor.
Sangat mudah untuk beralih di antara versi PHP yang berbeda. Anda bahkan akan mendapatkan notifikasi (tentu saja hanya jika Anda memilih untuk ikut serta)!

PHP Monitor juga memberi Anda akses cepat ke berbagai fungsi berguna (seperti mengakses file konfigurasi, memulai ulang layanan, dan banyak lagi).
Anda juga dapat menambahkan domain baru sebagai tautan, mengisolasi situs, mengelola berbagai layanan, dan melakukan Pertolongan Pertama untuk memperbaiki semua jenis masalah umum tautan PHP.
PHP Monitor adalah aplikasi universal yang berjalan secara native di Apple Silicon dan Mac berbasis Intel.
/usr/local/homebrew atau /opt/homebrew )php homebrew telah diinstalDimulai dengan PHP Monitor 6.0, Anda tidak perlu menginstal Laravel Valet agar PHP Monitor dapat berfungsi. Namun, untuk mendapatkan akses ke semua fitur PHP Monitor, disarankan untuk menginstal Valet.
Untuk informasi lebih lanjut, silakan lihat SECURITY.md untuk mengetahui versi aplikasi mana yang saat ini didukung.
Sekali lagi, jika Anda ingin memiliki akses ke semua fitur PHP Monitor, saya sarankan menginstal Laravel Valet terlebih dahulu:
composer global require laravel/valet
valet install
valet trustSaat ini, PHP Monitor kompatibel dengan Laravel Valet v2, v3 dan v4. Masing-masing versi Valet ini mendukung versi PHP yang sedikit berbeda, itulah sebabnya versi lawas tetap didukung. Harap diperhatikan bahwa beberapa fitur tidak tersedia di Valet versi lama, seperti isolasi situs.
Setelah selesai, Anda dapat mengunduh rilis terbaru, mengekstraknya, dan meletakkannya di /Applications .
Sebelum versi 5.8, ini adalah cara yang disarankan untuk menginstal PHP Monitor.
Jika Anda lebih suka memasang aplikasi melalui Homebrew, Anda juga dapat menjalankan yang berikut ini:
brew tap nicoverbruggen/homebrew-cask
brew install --cask phpmonMetode yang disarankan untuk memperbarui aplikasi ke versi terbaru adalah dengan menggunakan pembaru bawaan .
Jika Anda memiliki koneksi internet yang sangat lambat, pembaru mungkin melaporkan bahwa waktu pengunduhan telah habis. Dalam hal ini, Anda mungkin ingin memperbarui secara manual dengan mengunduh rilis terbaru dan menempatkan aplikasi di /Applications .
(Anda juga dapat menggunakan Homebrew untuk memperbarui PHP Monitor, tetapi ini mengharuskan Anda menyetujui aplikasi setiap kali pembaruan diinstal. Jika Anda menggunakan pembaru bawaan, hal ini tidak diperlukan.)
Jika Anda ingin berintegrasi dengan peluncur pilihan Anda, Anda juga dapat mengunduh alur kerja Alfred atau ekstensi Raycast yang berfungsi dengan PHP Monitor.
Aplikasi harus berjalan di latar belakang agar dapat berfungsi, dan kotak centang Izinkan integrasi pihak ketiga harus diaktifkan di Preferensi (secara default).
Ya, aplikasinya ditandatangani dan disahkan oleh notaris, artinya yang harus Anda lakukan hanyalah menyetujui peluncuran pertamanya (atau setiap kali aplikasi diperbarui).
Saya ingin dapat melihat sekilas versi PHP mana yang ditautkan, dan menangani urusan Laravel Valet dalam aplikasi sederhana tanpa harus berurusan dengan terminal setiap saat.
Awalnya, saya memiliki alur kerja Alfred untuk ini — tetapi sekarang telah digantikan dengan utilitas ini, yang juga berfungsi dengan baik dalam menampilkan informasi tambahan secara sekilas, seperti versi PHP saat ini, batas memori, dan banyak lagi.
Jika Anda tidak perlu menyesuaikan pengaturan PHP lokal dan hanya menginginkan lingkungan yang mudah dan siap digunakan untuk memulai pengkodean, Laravel Herd mungkin lebih dari cukup untuk banyak kasus penggunaan.
Jika Anda memerlukan lebih banyak penyesuaian dan fleksibilitas, saya mendorong Anda untuk mempertimbangkan PHP Monitor yang dikombinasikan dengan Laravel Valet atau solusi lain seperti Docker (dengan Laravel Sail, misalnya).
PHP Monitor melakukan beberapa pemeriksaan integritas untuk memastikan pengalaman yang baik saat menggunakan aplikasi. Anda akan mendapat pesan yang memberitahukan bahwa PHP Monitor tidak akan berfungsi dengan benar dalam berbagai skenario.
Ikuti instruksi seperti yang ditentukan dalam peringatan untuk menyelesaikan masalah apa pun.
(Jika aplikasi mogok saat peluncuran tanpa menampilkan pesan-pesan ini, Anda mungkin memiliki pengaturan Homebrew dan Valet non-standar. Itu tidak didukung.)
Jika Anda mengalami masalah, hal pertama yang harus Anda lakukan adalah menginstal PHP Monitor dan Laravel Valet versi terbaru. Hal ini dapat menyelesaikan berbagai masalah. Untuk memutakhirkan Valet, jalankan
composer global update. Jangan lupa untuk menjalankanvalet installsetelah melakukan upgrade.
Jika Anda masih mengalami masalah, berikut beberapa pertanyaan & jawaban umum, serta masalah dan solusinya:
Semua versi PHP yang stabil dan didukung juga didukung oleh PHP Monitor. Namun, bergantung pada versi Valet yang Anda instal, versi PHP mana yang tersedia untuk tujuan peralihan mungkin berbeda.
Catatan Jika Anda memiliki versi PHP terinstal yang dapat dideteksi oleh PHP Monitor tetapi tidak didukung oleh versi Valet yang sedang aktif, Anda akan diperingatkan oleh item di menu dengan emoji tanda seru. (
)
Backport yang dapat diinstal melalui fungsionalitas Manajer Versi PHP Monitor PHP bergantung pada ketersediaan melalui ketukan ini.
Ekstensi PHP yang dapat diinstal melalui fungsionalitas Manajer Ekstensi PHP Monitor PHP bergantung pada ketersediaan melalui ketukan ini.
Untuk kompatibilitas maksimum dengan versi PHP lama, Anda mungkin ingin tetap menggunakan Valet 2 atau 3. Untuk informasi lebih lanjut, silakan lihat SECURITY.md untuk mengetahui versi PHP mana yang didukung dengan versi Valet yang berbeda.
Dengan asumsi Anda telah menginstal rumus php , maka versi stabil terbaru PHP telah diinstal. Pada saat penulisan, ini adalah PHP 8.3.
Anda dapat menginstal versi PHP lain yang didukung melalui Manajer Versi PHP Monitor PHP. (Anda juga dapat menginstal atau mengupgrade versi PHP secara manual, namun hal ini tidak disarankan.)
Harap diingat bahwa menginstal atau memperbarui versi PHP, bahkan ketika dilakukan melalui Manajer Versi PHP Monitor PHP, dapat menyebabkan ketergantungan rumus lain yang diperlukan (perangkat lunak yang diperlukan untuk menjaga versi PHP tersebut tetap berfungsi) untuk ditingkatkan. Mungkin tidak terlalu transparan ketika hal ini terjadi, tetapi kemungkinan besar inilah penyebabnya jika penginstalan versi PHP memakan waktu lebih lama dari yang diharapkan: biasanya dependensi lain juga sedang diinstal.
Selain itu, memutakhirkan satu versi PHP tertentu juga dapat menyebabkan versi PHP lain yang terinstal juga diperbarui sekaligus, jika dependensi untuk satu versi tersebut juga berlaku untuk versi PHP lainnya (yang lebih baru). Agak sulit untuk mengelola versi PHP melalui Homebrew, dan bahkan PHP Monitor mungkin mengalami beberapa kesulitan.
Jika Anda mengalami skenario aneh atau kegagalan fungsi, silakan buka masalah di pelacak masalah dan hubungi kami. Saya ingin terus meningkatkan proses ini agar semudah mungkin.
Catatan : Menggunakan PHP Monitor ketika mengelola versi PHP dapat menyebabkan konflik alias sementara sedangkan alias tap inti dan alias tap mengacu pada versi PHP yang berbeda, namun secara umum hal ini merupakan ketidaknyamanan kecil, karena ini biasanya hanya berlaku ketika versi PHP baru rilis.
Jika Anda menjalankan macOS Ventura atau lebih baru, ada opsi di menu Pengaturan yang dapat Anda pilih: "Mulai PHP Monitor saat login".
Jika Anda menggunakan macOS versi lama, Anda dapat melakukannya dengan menyeret PHP Monitor.app ke bagian Item Login di System Preferences > Users & Groups untuk akun Anda.
Sangat nyaman!
Manajer layanan dinonaktifkan, dan semua integrasi Laravel Valet lainnya (pencari konfigurasi, daftar domain, Perbaiki Valet Saya) juga dinonaktifkan.
(Sebagian besar fitur lainnya tetap tersedia.)
Jika Anda ingin mengatur komputer Anda untuk pertama kalinya dengan PHP Monitor, berikut cara saya melakukannya.
Saya juga telah membuat video tutorialnya yang mungkin lebih mudah diikuti. Jika Anda hanya menginginkan perintah terminal, teruslah membaca.
Instal Homebrew terlebih dahulu. Ikuti instruksi di sana dulu!
Kemudian, Anda harus mengatur PATH Anda.
nano .zshrc
Pastikan baris berikut tidak ada di komentar:
# on an Intel Mac
export PATH=$HOME/bin:/usr/local/bin:$PATH
Jika Anda menggunakan Mac berbasis Apple Silicon, Anda perlu menambahkan:
# on an M1 Mac
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
dan tambahkan yang berikut ini ke file .zshrc Anda, tetapi tambahkan ini SEBELUM penambahan PATH homebrew:
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
Jika Anda menambahkan biner composer dan Homebrew, pastikan biner Homebrew lebih disukai dengan menambahkannya ke jalur terakhir. Di sistem saya, tampilannya seperti ini:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
Jika Anda tidak menggunakan Apple Silicon, Anda harus menghapus baris ketiga.
Instal rumus php dan composer :
brew install php composer
Pastikan PHP terhubung dengan benar:
which php
harus mengembalikan: /usr/local/bin/php (atau /opt/homebrew/bin/php jika Anda menggunakan Apple Silicon)
Jika Anda tidak membutuhkan Laravel Valet, Anda bisa berhenti di sini. PHP Monitor akan bekerja seperti ini dalam Mode Standalone.
Jika Anda ingin memiliki Valet juga, lanjutkan dan instal Valet dengan Composer, seperti ini.
composer global require laravel/valet
Untuk hasil optimal, Anda harus mengunci platform PHP Anda untuk ketergantungan global ke versi PHP terlama yang ingin Anda jalankan. Jika versi tersebut adalah PHP 7.0, file ~/.composer/composer.json Anda akan terlihat seperti ini (harap sesuaikan versinya!):
{
"require": {
"laravel/valet": "^3.0",
},
"config": {
"platform": {
"php": "7.0"
}
}
}
Jalankan composer global update lagi. Hal ini memastikan bahwa ketika Anda beralih ke versi PHP global yang berbeda, Valet tidak akan rusak. Jika ya, PHP Monitor akan memberi tahu Anda apa yang dapat Anda lakukan mengenai hal ini.
Kemudian, instal Valet:
valet install
Ini harus menginstal dnsmasq dan mengatur Valet. Hebat, hampir sampai!
valet trust
Terakhir, jalankan PHP Monitor. Karena aplikasi ini disahkan dan ditandatangani dengan ID pengembang, aplikasi ini akan berfungsi. Anda harus menyetujui peluncuran awal aplikasi, namun Anda harus siap melakukannya sekarang.
PHP Monitor akan memeriksa apakah pembaruan tersedia setiap kali Anda memulai aplikasi.
Anda dapat menonaktifkan perilaku ini dengan masuk ke Preferensi (melalui ikon Monitor PHP di bilah menu) dan hapus centang "Periksa pembaruan secara otomatis". (Anda selalu dapat memeriksa pembaruan secara manual.)
Cara termudah adalah dengan menggunakan PHP Version Manager bawaan, yang memungkinkan Anda mengupgrade versi PHP Anda dengan satu klik.
Jika Anda ingin melakukannya secara manual, Anda dapat mengikuti petunjuk di bawah ini.
Sangat mudah untuk membuat kesalahan di sini, dan berakhir dengan versi PHP yang tidak tertaut atau ada versi yang hilang dari PHP Monitor.
Inilah yang biasanya saya lakukan:
brew update-resetbrew upgradeJika setelah ini, ada versi PHP yang hilang di PHP Monitor, jalankan perintah berikut untuk versi yang hilang:
brew uninstall php@xx (di mana xx adalah versinya)brew cleanup (jika Anda mengalami masalah izin, Anda mungkin perlu membersihkan folder secara manual)brew install php@xx (di mana xx adalah versinya) Anda mungkin masih perlu menjalankan brew link php setelah memutakhirkan juga.
Itu saja. Sekarang jalankan PHP Monitor lagi dan Anda akan menjadi emas!
Coba install lagi menggunakan brew install php .
Ini seharusnya menyelesaikan masalah ini! Jika itu tidak menyelesaikan masalah, jalankan brew link php --force . (Setelah itu, Anda mungkin perlu me-restart terminal Anda untuk memastikan versi tertaut baru terdeteksi.)
brew install php
brew link php --force
Jika Anda mengunjungi domain .test , dan mendapatkan 502 (Bad Gateway) setelah beralih ke versi PHP lain, Anda menghadapi masalah umum.
Masalah ini biasanya diatasi dengan memutakhirkan Valet dan menjalankan valet install lagi.
composer global update
valet install
Jika Anda melihat kesalahan 502 (Bad Gateway) setelah sekitar 30 detik, kemungkinan waktu permintaan Anda habis. Anda mungkin perlu menyelesaikan masalah kinerja dengan kode Anda sendiri.
PHP Monitor memberi tahu Anda bahwa instalasi PHP rusak, jika konfigurasi menyebabkan peringatan atau kesalahan saat menentukan nomor versi.
Karena PHP Monitor mengubah versi tertaut melalui Homebrew, Valet dan terminal Anda (CLI) harus menggunakan versi PHP baru.
Namun, hal ini mungkin tidak terjadi pada sistem Anda. Anda mungkin memiliki versi PHP tertentu yang tertaut jika bukan itu masalahnya. Dalam hal ini, Anda mungkin perlu mengubah file .bashrc atau .zshrc di mana PATH diatur (tergantung pada terminal yang Anda gunakan).
Anda dapat mengetahui versi PHP mana yang digunakan dengan menjalankan which php .
Anda dapat mengetahui apa sebenarnya yang menyebabkan masalah dengan menjalankan perintah. Di Intel, Anda dapat menjalankan (ganti 7.4 dengan versi yang rusak):
/usr/local/opt/[email protected]/bin/php -r "print phpversion();"
Di Apple Silicon, Anda dapat menjalankan (ganti 7.4 dengan versi yang rusak):
/opt/homebrew/opt/[email protected]/bin/php -r "print phpversion();"
Anda akan melihat kesalahan atau peringatan di sini pada keluaran.
Biasanya ini adalah deklarasi ekstensi duplikat yang menyebabkan masalah, atau ekstensi yang tidak dapat dimuat. Anda harus menyelesaikan sendiri masalah tersebut (biasanya dengan menghapus ekstensi yang mengganggu atau menginstal ulang).
Pastikan Anda menginstal setidaknya Valet 3.0 , karena dukungan isolasi telah ditambahkan di versi Valet ini. (Harap dicatat bahwa versi Valet ini menghentikan dukungan untuk PHP 5.6.)
Nilai yang Anda berikan di file .ini tidak valid. Jika demikian, PHP akan mencoba mengurai nilai Anda sebagai byte, yang biasanya tidak diinginkan. ( 1GB akan menjadi hanya beberapa byte, dan semua aplikasi Anda akan kehabisan memori!)
Anda harus memberikan nilai seperti: 1024K , 256M , 1G . Alternatifnya, -1 juga diperbolehkan, atau hanya bilangan bulat (yang akan menghasilkan jumlah N byte sebagai batasnya).
Contoh : Mencoba menggunakan 1GB sebagai batas memori, misalnya, akan menghasilkan tanda seru ini. Cara yang benar untuk menetapkan batas 1GB adalah dengan menggunakan 1G sebagai nilainya. (Catatan: Nilai yang ditampilkan akan ditambahkan B agar lebih jelas, jadi jika Anda menyetel 1G , nilai yang dilaporkan oleh PHP Monitor adalah 1 GB.)
(Jika Anda menggunakan Valet, Anda dapat menyesuaikan batasan ini di file .conf.d/php-memory-limits.ini . Jika tidak, Anda mungkin perlu menyesuaikan php.ini .)
Aplikasi mencari file .ini yang relevan untuk pola tertentu. Untuk ekstensi reguler:
extension="*.so"; extension="*.so"Untuk ekstensi Zend:
zend_extension="*.so"; zend_extension="*.so" Tanda * adalah wildcard dan nama ekstensinya. Jika Anda telah mengomentari ekstensi tersebut, pastikan Anda telah mengomentarinya dengan tanda titik koma (;) dan satu spasi setelah titik koma agar PHP Monitor dapat mendeteksinya.
Sejak v3.4, semua file .ini yang dimuat bersumber untuk menentukan ekstensi mana yang diaktifkan.
Jika Anda menggunakan PHP Monitor pada mesin Intel atau pada mesin Apple Silicon dengan Rosetta diaktifkan, PHP Monitor mengharapkan biner Homebrew utama di /usr/local/bin/brew .
Jika Anda menggunakan PHP Monitor di Apple Silicon tanpa Rosetta, PHP Monitor mengharapkan biner Homebrew utama di /opt/homebrew/bin/brew .
Jika ada masalah di sini, Anda akan mendapat peringatan saat peluncuran.
Pastikan versi Homebrew yang Anda jalankan secara normal sama dengan versi yang diharapkan oleh PHP Monitor. Misalnya, jika Anda menggunakan perangkat keras M1, tetapi masih menggunakan Rosetta untuk Homebrew, Anda juga harus menjalankan PHP Monitor di bawah Rosetta.
PHP Monitor adalah aplikasi universal dan mendukung kedua arsitektur tersebut, jadi cari tahu di sini cara mengaktifkan Rosetta dengan PHP Monitor.
Aplikasi akan secara otomatis memeriksa pembaruan, yang kemungkinan besar merupakan penyebabnya.
Hal ini terjadi saat peluncuran (kecuali dinonaktifkan), dan aplikasi langsung memeriksa Caskfile yang dihosting di GitHub. Data ini tidak, dan tidak akan digunakan untuk analisis (dan, sejauh yang saya tahu, tidak bisa).
Saya juga tidak dapat mencegah brew melakukan sesuatu melalui jaringan ketika PHP Monitor menggunakan biner.
Aplikasi ini menyertakan file Kebijakan Akses Internet, jadi jika Anda menggunakan sesuatu seperti Little Snitch, harus ada penjelasan mengapa panggilan ini terjadi.
Anda harus mengatur preset ini dalam file JSON yang terletak di ~/.config/phpmon/config.json .
Anda harus menyiapkan setidaknya satu preset yang valid agar preset ini berfungsi di PHP Monitor.
Berikut ini contoh preset yang berfungsi:
{
"scan_apps": [],
"layanan": [],
"preset": [
{
"nama": "Proyek Warisan",
"php": "8.0",
"ekstensi": {
"xdebug": salah
},
"konfigurasi": {
"memori_batas": "128 juta",
"upload_max_filesize": "128 juta",
"post_max_size": "128 juta"
}
}
],
"ekspor": {}
}
Anda dapat menghilangkan kunci php di preset jika Anda tidak ingin preset tersebut beralih ke versi PHP tertentu.
Peringatan Anda harus me-restart PHP Monitor agar perubahan ini dapat terdeteksi.
Info layanan Homebrew tidak ditampilkan jika Anda menggunakan Valet dalam Mode Standalone.
Anda harus mengatur layanan ini dalam file JSON yang terletak di ~/.config/phpmon/config.json .
Anda dapat menentukan layanan khusus di file konfigurasi untuk layanan Homebrew yang dijalankan sebagai pengguna Anda sendiri (bukan root).
Info Jika layanan Anda harus dijalankan sebagai root, saat ini layanan tersebut tidak dapat ditambahkan ke PHP Monitor.
Anda dapat mengetahui layanan mana yang tersedia dengan menjalankan brew services list .
Berikut ini contoh di mana kita menambahkan layanan mailhog dan mysql ke PHP Monitor:
{
"scan_apps": [],
"layanan": ["mailhog", "mysql"],
"preset": [],
"ekspor": {}
}
Peringatan Anda harus me-restart PHP Monitor agar perubahan ini dapat terdeteksi.
Anda harus mengonfigurasi variabel lingkungan khusus ini dalam file JSON, yang terletak di ~/.config/phpmon/config.json .
PHP Monitor menggunakan lingkungan Shell default, tanpa variabel lingkungan khusus. Anda perlu menyetel variabel lingkungan khusus secara manual. Ini kemudian digunakan misalnya untuk Komposer.
Berikut ini contoh variabel lingkungan COMPOSER_HOME yang berfungsi dan dihormati:
{
"scan_apps": [],
"layanan": [],
"preset": [],
"ekspor": {
"COMPOSER_HOME": "/absolute/path/ke/komposer/folder"
}
}
Peringatan Anda harus me-restart PHP Monitor agar perubahan ini dapat terdeteksi.
Saat Anda memilih dan mengklik kanan suatu domain, Anda dapat membuka direktori tersebut dengan berbagai aplikasi. Ini dapat membantu mempercepat alur kerja Anda. Namun, agar aplikasi ini muncul, mereka harus dideteksi terlebih dahulu.
Aplikasi yang didukung adalah: PhpStorm, Visual Studio Code, Sublime Text, Sublime Merge, iTerm .
Semua aplikasi ini seharusnya dapat dideteksi dengan benar, di mana pun lokasinya di sistem Anda. Jika Anda dapat membukanya menggunakan open -a "appname" , aplikasi akan terdeteksi dan berfungsi. Jika Anda telah mengganti nama aplikasi, mungkin ada masalah saat mendeteksinya.
Untuk melihat file mana yang diperiksa untuk menentukan ketersediaan, lihat file ini.
Anda dapat menambahkan aplikasi Anda sendiri dengan membuat dan mengedit file ~/.config/phpmon/config.json , dan pastikan kunci scan_apps disetel:
{
"scan_apps": ["Xcode", "Kraken"]
}
Anda dapat memasukkan aplikasi sebanyak yang Anda inginkan ke dalam array scan_apps , dan PHP Monitor akan memeriksa keberadaan aplikasi ini. Anda tidak perlu menyetel jalur lengkapnya, cukup nama aplikasinya saja yang bisa digunakan. Namun, tidak semua aplikasi mendukung pembukaan folder, sehingga keberhasilan Anda mungkin berbeda-beda.
Peringatan Anda harus me-restart PHP Monitor agar perubahan ini dapat terdeteksi.
PHP Monitor mendukung integrasi aplikasi pihak ketiga secara default, dan fitur ini diaktifkan di Preferensi kecuali Anda menonaktifkannya.
Anda dapat mengambil alur kerja Alfred resmi atau ekstensi Raycast.
Jika Anda ingin mengintegrasikan sesuatu sendiri, yang perlu Anda lakukan hanyalah menggunakan protokol phpmon:// dan memastikan bahwa integrasi aplikasi pihak ketiga diaktifkan di Preferensi (di PHP Monitor).
Menggunakan callback aplikasi, macOS dan PHP Monitor memungkinkan pemanggilan hal berikut:
File composer.json di root folder (jika ada) dipindai dan diinterpretasikan.
Jika versi diatur dalam platform , versi tersebut akan diutamakan. Jika versi tersebut tidak diatur dalam platform tetapi require (paling umum) maka versi tersebut digunakan.
Anda akan melihat tanda centang di sebelah nomor versi jika versi PHP yang diaktifkan saat ini kompatibel dengan versi yang diperlukan untuk menjalankan situs.
Hal ini ditentukan dengan mengevaluasi batasan persyaratan PHP (misalnya ^8.0 , ~8.0 atau versi tertentu: 8.0 ).
PHP Monitor saat ini memeriksa file composer.json Anda untuk mencoba mencari tahu proyek apa yang sedang Anda jalankan.
Pendekatan ini jauh lebih cepat daripada meminta driver ketika Anda memiliki banyak situs yang ditautkan, namun sedikit kurang dapat diandalkan karena kerangka kerja atau jenis proyek yang disimpulkan melalui composer.json mungkin tidak 100% akurat.
Anda masih dapat bertanya kepada Valet menggunakan baris perintah, jika diperlukan. Menurut pengalaman saya, mengambil driver memperlambat aplikasi secara tidak perlu.
Anda sekarang dapat menggunakan Pertolongan Pertama & Layanan > Pulihkan Izin Homebrew untuk (sementara) menyelesaikan masalah ini dan memungkinkan proses brew upgrade atau brew cleanup yang bersih dan tidak menyakitkan.
Jika Anda ingin mengetahui lebih lanjut, bacalah terbitan ini untuk informasi lebih lanjut tentang mengapa hal ini diperlukan.
Silakan menghubungi dan membuka masalah. PHP Monitor seharusnya tidak mogok... (kecuali Anda benar-benar menghapus PHP saat aplikasi sedang berjalan, itu dianggap sebagai perilaku normal!)
Jika Anda ingin melaporkan kerusakan, harap sertakan file log terkait sehingga saya dapat mengetahui apa yang sebenarnya salah.
Untuk menemukan log, lihat di ~/Library/Logs/DiagnosticReports (di Finder) dan lihat apakah ada file (log) yang dimulai dengan "PHP Monitor".
Selain itu, Anda dapat membantu saya mengetahui lebih banyak informasi dengan mengirimkan saya log verbose Anda untuk sesi terbaru PHP Monitor. Pencatatan log dinonaktifkan secara default.
Anda dapat memulai logging verbose ekstra dengan menjalankan: touch ~/.config/phpmon/verbose dan memulai ulang PHP Monitor. Anda dapat menemukan login terbaru: ~/.config/phpmon/last_session.log . Harap lampirkan ke laporan bug yang relevan.
Saya tidak menyertakan perangkat lunak pelacakan atau analitik apa pun, jadi jika Anda mengalami masalah, beri tahu saya melalui suatu masalah.
PHP Monitor tersedia secara gratis , namun jika Anda mampu, donasi akan membantu menjaga proyek tetap berjalan dan aplikasi tetap terpelihara.
Anda dapat menemukan link sponsor di bagian atas repo ini atau Anda dapat mengklik link di sini untuk dibawa ke halaman sponsor saya.
Donasi sangat membantu biaya Program Pengembang Apple, dan membuat saya tetap termotivasi untuk terus bekerja di PHP Monitor di luar jam kerja (saya punya pekerjaan harian!).
Terima kasih khusus ditujukan kepada:
Terima kasih banyak atas kontribusi, kata-kata baik, dan dukungan Anda.
Aplikasi ini menjalankan php-config --version di latar belakang secara berkala, biasanya setiap kali konfigurasi Homebrew Anda diubah. Pengamat sistem file digunakan untuk menentukan apakah ada perubahan di direktori bin Homebrew Anda.
PHP Monitor juga memeriksa ekstensi file .ini Anda dan memuat lebih banyak informasi tentang batas Anda (batas memori, batas POST, batas unggah). Lihat juga bagian Deteksi perubahan konfigurasi di bawah.
Utilitas ini akan mendeteksi versi PHP mana yang telah Anda instal melalui Homebrew, dan kemudian memungkinkan Anda untuk beralih di antara versi tersebut.
Pengalih akan menonaktifkan semua layanan PHP-FPM yang bukan milik versi yang ingin Anda gunakan, dan menautkan versi PHP yang diinginkan. Kemudian, proses FPM versi PHP yang Anda inginkan akan dimulai ulang. Ini semua terjadi secara paralel, jadi ini seharusnya sedikit lebih cepat daripada pengalih Valet.
Jika Anda menggunakan Valet 3 atau lebih baru, versi PHP-FPM yang diperlukan untuk menjaga dan menjalankan situs terisolasi juga akan dimulai atau dihentikan sesuai kebutuhan.
PHP Monitor mengawasi sistem file Anda di direktori conf.d yang relevan untuk versi PHP yang saat ini tertaut.
Setiap kali file .ini diubah, PHP Monitor akan mencoba memuat ulang informasi terkini tentang instalasi PHP yang aktif.
Jika suatu ekstensi atau proses lain menulis ke satu file beberapa kali dalam rentang waktu singkat (<1 detik), PHP Monitor hanya akan memuat ulang informasi konfigurasi aktif setelah beberapa saat (dengan sedikit penundaan).
Certificates Valet untuk nama situs tersebut.composer.json Anda untuk "ketergantungan penting". Jika Anda memiliki laravel/framework di require Anda, kemungkinan besar jenis proyeknya adalah Laravel .Catatan Jika Anda telah menautkan folder di Dokumen, Desktop, atau Unduhan, Anda mungkin perlu memberikan akses PHP Monitor ke direktori tersebut agar PHP Monitor berfungsi dengan benar.
Jika Anda ingin tahu lebih banyak tentang cara kerjanya, saya sarankan Anda memeriksa kode sumbernya.
Saya telah melakukan yang terbaik untuk membuat anotasi sebanyak mungkin secara manusiawi, dan menghindari penggunaan arsitektur yang terlalu rumit untuk menjaga kode semudah mungkin dipelihara. Kode ini pada akhirnya tidak sempurna (banyak pembersihan masih bisa terjadi!) tetapi aplikasi berfungsi dengan baik.
Saya juga memiliki beberapa pengujian untuk bagian-bagian penting dari aplikasi yang menurut saya perlu diuji. Di masa depan, saya ingin menambahkan lebih banyak pengujian untuk beberapa hal UI, tetapi untuk saat ini pengujian tersebut lebih merupakan pengujian unit daripada pengujian fitur.
Untuk informasi lebih detail bagi pengembang, silakan lihat file dokumentasi untuk pengembang.