หมายเหตุ หากซอฟต์แวร์นี้มีประโยชน์สำหรับคุณ ฉันขอให้คุณ ติดดาวพื้นที่เก็บข้อมูล เพื่อที่ฉันจะได้รู้ว่าซอฟต์แวร์นั้นกำลังถูกใช้อยู่ นอกจากนี้โปรดพิจารณาสนับสนุนโครงการนี้ด้วยเนื่องจากเป็นสิ่งที่ฉันทำในเวลาว่าง ขอบคุณ!
PHP Monitor (หรือ phpmon ) เป็นแอพยูทิลิตี้ macOS น้ำหนักเบาที่ทำงานบน Mac ของคุณและแสดงเวอร์ชัน PHP ที่ใช้งานอยู่ในแถบสถานะของคุณ มีการผสานรวมอย่างแน่นหนากับ Laravel Valet ดังนั้นคุณต้องตั้งค่าหากคุณต้องการใช้ฟังก์ชันทั้งหมดของแอป (ดูคำถามที่พบบ่อยด้านล่างพร้อมข้อมูลเกี่ยวกับวิธีการตั้งค่าสภาพแวดล้อมของคุณ)
สกรีนช็อต: แสดงฟังก์ชันหลักของ PHP Monitor
การสลับระหว่าง PHP เวอร์ชันต่างๆ ทำได้สะดวกมาก คุณจะได้รับการแจ้งเตือนด้วย (แน่นอนว่าเฉพาะกรณีที่คุณเลือกรับเท่านั้น)!
PHP Monitor ยังช่วยให้คุณเข้าถึงฟังก์ชันการทำงานที่มีประโยชน์ต่างๆ ได้อย่างรวดเร็ว (เช่น การเข้าถึงไฟล์การกำหนดค่า การรีสตาร์ทบริการ และอื่นๆ)
คุณยังสามารถเพิ่มโดเมนใหม่เป็นลิงก์ แยกไซต์ จัดการบริการต่างๆ และดำเนินการปฐมพยาบาลเพื่อแก้ไขปัญหาลิงก์ PHP ทั่วไปทุกประเภท
PHP Monitor เป็นแอปพลิเคชั่นสากลที่ทำงานบน Apple Silicon และ เครื่อง Mac ที่ใช้ Intel
/usr/local/homebrew
หรือ /opt/homebrew
)php
แล้วตั้งแต่ PHP Monitor 6.0 เป็นต้นไป คุณไม่จำเป็นต้องติดตั้ง Laravel Valet เพื่อให้ PHP Monitor ทำงาน อย่างไรก็ตาม หากต้องการเข้าถึงคุณสมบัติทั้งหมดของ PHP Monitor แนะนำ ให้ติดตั้ง Valet
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ SECURITY.md เพื่อดูว่าแอปเวอร์ชันใดได้รับการสนับสนุนในปัจจุบัน
อีกครั้ง หากคุณต้องการเข้าถึง ฟีเจอร์ทั้งหมด ของ PHP Monitor ฉันแนะนำให้ติดตั้ง Laravel Valet ก่อน:
composer global require laravel/valet
valet install
valet trust
ปัจจุบัน PHP Monitor เข้ากันได้กับ Laravel Valet v2, v3 และ v4 Valet แต่ละเวอร์ชันรองรับเวอร์ชัน PHP ที่แตกต่างกันเล็กน้อย ซึ่งเป็นสาเหตุที่ยังคงรองรับเวอร์ชันเก่าอยู่ โปรดทราบว่าคุณลักษณะบางอย่างไม่มีให้บริการใน Valet เวอร์ชันเก่า เช่น การแยกไซต์
เมื่อเสร็จแล้ว คุณสามารถดาวน์โหลดรุ่นล่าสุด แตกไฟล์แล้ววางไว้ใน /Applications
ก่อนเวอร์ชัน 5.8 นี่เป็นวิธีที่แนะนำในการติดตั้ง PHP Monitor
หากคุณต้องการติดตั้งแอปผ่าน Homebrew คุณสามารถเรียกใช้สิ่งต่อไปนี้ได้:
brew tap nicoverbruggen/homebrew-cask
brew install --cask phpmon
วิธีที่แนะนำในการอัปเดตแอปเป็นเวอร์ชันล่าสุดคือการใช้ ตัวอัปเดตในตัว
หากคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ช้ามาก ตัวอัปเดตอาจรายงานว่าการดาวน์โหลดหมดเวลาแล้ว ในกรณีดังกล่าว คุณอาจต้องการอัปเดตด้วยตนเองโดยดาวน์โหลดเวอร์ชันล่าสุดและวางแอปใน /Applications
(คุณอาจใช้ Homebrew เพื่ออัปเดต PHP Monitor ได้ แต่คุณจะต้องอนุมัติแอปทุกครั้งที่ติดตั้งการอัปเดต หากคุณใช้ตัวอัปเดตในตัว ก็ไม่จำเป็น)
หากคุณต้องการผสานรวมกับ Launcher ที่คุณเลือก คุณยังสามารถดาวน์โหลดเวิร์กโฟลว์ Alfred หรือส่วนขยาย Raycast ที่ทำงานร่วมกับ PHP Monitor ได้
แอปจะต้องทำงานในพื้นหลังเพื่อให้แอปทำงานได้ และต้องเปิดใช้งานช่องทำเครื่องหมาย อนุญาตการรวมระบบของบุคคลที่สาม ในการตั้งค่า (ตามค่าเริ่มต้น)
ใช่ แอปได้รับการลงนามและรับรองแล้ว ซึ่งหมายความว่าสิ่งที่คุณต้องทำคืออนุมัติการเปิดตัวครั้งแรก (หรือทุกครั้งที่อัปเดต)
ฉันต้องการที่จะ เห็นได้อย่างรวดเร็วว่า PHP เวอร์ชันใดที่เชื่อมโยงอยู่ และจัดการจัดการกับ Laravel Valet ในแอปง่ายๆ โดยไม่ต้องจัดการกับเทอร์มินัลทุกครั้ง
ในตอนแรก ฉันมีเวิร์กโฟลว์ Alfred สำหรับสิ่งนี้ — แต่ตอนนี้ถูกแทนที่ด้วยยูทิลิตี้นี้ ซึ่งทำงานได้ดีในการแสดงข้อมูลเพิ่มเติมได้อย่างรวดเร็ว เช่น เวอร์ชัน PHP ปัจจุบัน ขีดจำกัดของหน่วยความจำ และอื่นๆ อีกมากมาย
หากคุณไม่จำเป็นต้องปรับแต่งการตั้งค่า PHP ในเครื่องของคุณและเพียงต้องการสภาพแวดล้อมที่ง่ายและพร้อมใช้งานเพื่อเริ่มการเขียนโค้ด Laravel Herd น่าจะเพียงพอสำหรับกรณีการใช้งานหลายๆ กรณี
หากคุณต้องการการปรับแต่งและความยืดหยุ่นที่มากขึ้น ฉันขอแนะนำให้คุณลองใช้ PHP Monitor ร่วมกับ Laravel Valet หรือโซลูชันอื่นๆ เช่น Docker (กับ Laravel Sail เป็นต้น)
PHP Monitor ทำการตรวจสอบความสมบูรณ์เพื่อให้แน่ใจว่าได้รับประสบการณ์ที่ดีเมื่อใช้แอพ คุณจะได้รับข้อความแจ้งว่า PHP Monitor ทำงานไม่ถูกต้องในหลายสถานการณ์
ปฏิบัติตามคำแนะนำตามที่ระบุไว้ในการแจ้งเตือนเพื่อแก้ไขปัญหาใดๆ
(หากแอปขัดข้องตอนเปิดตัวโดยไม่แสดงข้อความเหล่านี้ คุณอาจมีการตั้งค่า Homebrew และ Valet ที่ไม่ได้มาตรฐาน ซึ่งไม่รองรับ)
หากคุณกำลังประสบปัญหา สิ่งแรกที่คุณควรทำคือติดตั้ง PHP Monitor และ Laravel Valet เวอร์ชันล่าสุด วิธีนี้สามารถแก้ไขปัญหาได้หลากหลาย หากต้องการอัปเกรด Valet ให้เรียกใช้
composer global update
อย่าลืมรันvalet install
หลังจากอัปเกรด
หากคุณยังคงพบปัญหา ต่อไปนี้เป็นคำถามและคำตอบทั่วไป รวมถึงปัญหาและแนวทางแก้ไข:
PHP Monitor เวอร์ชันเสถียรและรองรับทั้งหมดยังรองรับ PHP Monitor อีกด้วย อย่างไรก็ตาม ขึ้นอยู่กับเวอร์ชันของ Valet ที่คุณติดตั้งไว้ PHP เวอร์ชันใดที่มีไว้สำหรับการสลับอาจแตกต่างกัน
หมายเหตุ หากคุณมีเวอร์ชันของ PHP ติดตั้งอยู่ซึ่งสามารถตรวจพบได้โดย PHP Monitor แต่ Valet เวอร์ชันที่ใช้งานอยู่ ไม่ รองรับ คุณจะได้รับการแจ้งเตือนจากรายการในเมนูพร้อมอิโมจิเครื่องหมายอัศเจรีย์ -
-
Backport ที่สามารถติดตั้งผ่านฟังก์ชัน PHP Version Manager ของ PHP Monitor จะขึ้นอยู่กับความพร้อมใช้งานผ่านการแตะนี้
ส่วนขยาย PHP ที่สามารถติดตั้งได้ผ่านฟังก์ชัน PHP Extension Manager ของ PHP Monitor ขึ้นอยู่กับความพร้อมใช้งานผ่านการแตะนี้
เพื่อให้เข้ากันได้สูงสุดกับ PHP เวอร์ชันเก่า คุณอาจต้องการใช้ Valet 2 หรือ 3 ต่อไป สำหรับข้อมูลเพิ่มเติม โปรดดูที่ SECURITY.md เพื่อดูว่า PHP เวอร์ชันใดที่รองรับ Valet เวอร์ชันต่างๆ
สมมติว่าคุณได้ติดตั้งสูตร php
แล้ว PHP เวอร์ชันเสถียรล่าสุดจะถูกติดตั้งไว้ ในขณะที่เขียนนี่คือ PHP 8.3
คุณสามารถติดตั้ง PHP เวอร์ชันอื่นๆ ที่รองรับได้ผ่านทาง PHP Version Manager ของ PHP Monitor (คุณสามารถติดตั้งหรืออัปเกรดเวอร์ชัน PHP ด้วยตนเองได้เช่นกัน แต่ไม่แนะนำ)
โปรดทราบว่าการติดตั้งหรืออัปเดตเวอร์ชัน PHP แม้ว่าจะดำเนินการผ่าน ตัวจัดการเวอร์ชัน PHP ของ PHP Monitor ก็ตาม อาจทำให้การขึ้นต่อกันของสูตรที่จำเป็นอื่นๆ (ซอฟต์แวร์ที่จำเป็นเพื่อให้เวอร์ชัน PHP เหล่านั้นทำงานได้) ได้รับการอัปเกรด เหตุการณ์นี้อาจไม่โปร่งใสนัก แต่น่าจะเป็นสาเหตุหากการติดตั้งเวอร์ชัน PHP ใช้เวลานานกว่าที่คาดไว้ โดยปกติแล้วการอ้างอิงอื่นๆ ก็กำลังติดตั้งอยู่เช่นกัน
นอกจากนี้ การอัพเกรด PHP เวอร์ชันใดเวอร์ชันหนึ่งอาจทำให้ PHP เวอร์ชันอื่นที่ติดตั้งไว้ได้รับการอัปเดตในคราวเดียว ด้วย หากการขึ้นต่อกันของเวอร์ชันหนึ่งนั้นมีผลกับ PHP เวอร์ชันอื่น (ที่ใหม่กว่า) ด้วย การจัดการเวอร์ชัน PHP ผ่าน Homebrew เป็นเรื่องยากเล็กน้อย และแม้แต่ PHP Monitor ก็อาจประสบปัญหาบางประการ
หากคุณพบสถานการณ์แปลก ๆ หรือการทำงานผิดปกติ โปรดเปิดปัญหาในตัวติดตามปัญหาและติดต่อกลับ ฉันต้องการปรับปรุงกระบวนการนี้ต่อไปเพื่อให้เข้าใจผิดได้มากที่สุดเท่าที่จะเป็นไปได้
หมายเหตุ : การใช้ PHP Monitor เมื่อจัดการเวอร์ชัน PHP อาจทำให้เกิดข้อขัดแย้งชั่วคราวในขณะที่นามแฝง tap หลักและนามแฝงของ tap อ้างอิงถึงเวอร์ชันอื่นของ PHP แต่โดยทั่วไปแล้วจะพูดถึงความไม่สะดวกเล็กน้อย เนื่องจากโดยปกติจะใช้ได้เฉพาะเมื่อเวอร์ชัน PHP ใหม่เท่านั้น เผยแพร่
หากคุณใช้ macOS Ventura หรือใหม่กว่า จะมีตัวเลือกในเมนูการตั้งค่าที่คุณสามารถเลือกได้: "เริ่ม PHP Monitor เมื่อเข้าสู่ระบบ"
หากคุณใช้ macOS เวอร์ชันเก่า คุณสามารถทำได้โดยการลาก PHP Monitor.app ลงในส่วน รายการเข้าสู่ระบบ ใน การตั้งค่าระบบ > ผู้ใช้และกลุ่ม สำหรับบัญชีของคุณ
สะดวกสุดๆ!
ตัวจัดการบริการถูกปิดใช้งาน และการผสานรวม Laravel Valet ที่ชัดเจนอื่น ๆ ทั้งหมด (ตัวค้นหาการกำหนดค่า รายการโดเมน Fix My Valet) ก็ถูกปิดใช้งานเช่นกัน
(คุณสมบัติอื่น ๆ ส่วนใหญ่ยังคงมีอยู่)
หากคุณต้องการตั้งค่าคอมพิวเตอร์ของคุณเป็นครั้งแรกด้วย PHP Monitor ฉันต้องทำอย่างไรต่อไปนี้
ฉันยังได้จัดทำวิดีโอแนะนำซึ่งอาจง่ายต่อการติดตาม หากคุณต้องการเพียงคำสั่งเทอร์มินัล โปรดอ่านต่อ
ติดตั้ง Homebrew ก่อน ทำตามคำแนะนำที่นั่นก่อน!
จากนั้น คุณจะต้องตั้งค่า PATH ของคุณ
nano .zshrc
ตรวจสอบให้แน่ใจว่าบรรทัดต่อไปนี้ไม่อยู่ในความคิดเห็น:
# on an Intel Mac
export PATH=$HOME/bin:/usr/local/bin:$PATH
หากคุณใช้ Mac ที่ใช้ Apple Silicon คุณจะต้องเพิ่ม:
# on an M1 Mac
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
และเพิ่มสิ่งต่อไปนี้ลงในไฟล์ .zshrc
ของคุณ แต่เพิ่มสิ่งนี้ก่อนการเพิ่ม PATH ของ homebrew:
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
หากคุณกำลังเพิ่ม composer
และ Homebrew binaries ตรวจสอบให้แน่ใจว่า Homebrew binaries เป็นที่ต้องการโดยการเพิ่มสิ่งเหล่านี้ลงในเส้นทางสุดท้าย ในระบบของฉันดูเหมือนว่านี้:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
export PATH=$HOME/bin:/opt/homebrew/bin:$PATH
หากคุณ ไม่ได้ ใช้ Apple Silicon คุณควรลบบรรทัดที่สามออก
ติดตั้งสูตร php
และ composer
:
brew install php composer
ตรวจสอบให้แน่ใจว่า PHP เชื่อมโยงอย่างถูกต้อง:
which php
ควรส่งคืน: /usr/local/bin/php
(หรือ /opt/homebrew/bin/php
หากคุณใช้ Apple Silicon)
หากคุณไม่ต้องการ Laravel Valet คุณสามารถหยุดได้ที่นี่ PHP Monitor จะทำงานเช่นนี้ในโหมดสแตนด์อโลน
หากคุณต้องการ Valet ด้วย ให้ดำเนินการต่อและติดตั้ง Valet with Composer เช่นนี้
composer global require laravel/valet
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด คุณควรล็อกแพลตฟอร์ม PHP ของคุณสำหรับการขึ้นต่อกันทั่วโลกกับ PHP เวอร์ชันเก่าที่สุดที่คุณตั้งใจจะใช้งาน หากเวอร์ชันนั้นเป็น PHP 7.0 ไฟล์ ~/.composer/composer.json
ของคุณอาจมีหน้าตาเช่นนี้ (โปรดปรับเวอร์ชันตามนั้น!):
{
"require": {
"laravel/valet": "^3.0",
},
"config": {
"platform": {
"php": "7.0"
}
}
}
เรียกใช้ composer global update
อีกครั้ง สิ่งนี้ทำให้แน่ใจได้ว่าเมื่อคุณเปลี่ยนไปใช้ PHP เวอร์ชันสากลอื่น Valet จะไม่หยุดชะงัก หากเป็นเช่นนั้น PHP Monitor จะแจ้งให้คุณทราบว่าคุณสามารถทำอะไรได้บ้าง
จากนั้นติดตั้ง Valet:
valet install
สิ่งนี้ควรติดตั้ง dnsmasq
และตั้งค่า Valet เยี่ยมมาก เกือบจะถึงแล้ว!
valet trust
สุดท้ายให้รัน PHP Monitor เนื่องจากแอปได้รับการรับรองและลงนามด้วยรหัสนักพัฒนา จึงควรใช้งานได้ คุณจะต้องอนุมัติการเปิดตัวแอปครั้งแรก แต่คุณควรพร้อมที่จะดำเนินการทันที
PHP Monitor จะตรวจสอบว่ามีการอัพเดตทุกครั้งที่คุณเริ่มแอพหรือไม่
คุณสามารถปิดการใช้งานพฤติกรรมนี้ได้โดยไปที่การตั้งค่า (ผ่านไอคอน PHP Monitor ในแถบเมนู) และยกเลิกการเลือก "ตรวจสอบการอัปเดตโดยอัตโนมัติ" (คุณสามารถตรวจสอบการอัปเดตด้วยตนเองได้ตลอดเวลา)
วิธีที่ง่ายที่สุดคือใช้ PHP Version Manager ในตัว ซึ่งจะช่วยให้คุณสามารถอัปเกรดเวอร์ชัน PHP ของคุณได้ในคลิกเดียว
หากคุณต้องการดำเนินการด้วยตนเอง คุณสามารถทำตามคำแนะนำด้านล่าง
เป็นเรื่องง่ายที่จะทำผิดพลาดที่นี่ และจบลงด้วยเวอร์ชันของ PHP ที่ไม่ได้เชื่อมโยง หรือมีเวอร์ชันที่ขาดหายไปจาก PHP Monitor
นี่คือสิ่งที่ฉันมักจะทำ:
brew update-reset
brew upgrade
หากหลังจากนี้ เวอร์ชัน PHP ใด ๆ หายไปใน PHP Monitor โปรดเรียกใช้สิ่งต่อไปนี้สำหรับเวอร์ชันที่หายไป:
brew uninstall php@xx
(โดยที่ xx
คือเวอร์ชัน)brew cleanup
(หากคุณมีปัญหาเกี่ยวกับการอนุญาต คุณอาจต้องล้างโฟลเดอร์ด้วยตนเอง)brew install php@xx
(โดยที่ xx
คือเวอร์ชัน) คุณอาจยังต้องเรียกใช้ brew link php
หลังจากอัปเกรดด้วย
แค่นั้นแหละ. ตอนนี้เริ่มต้น PHP Monitor อีกครั้งและคุณควรจะเป็นสีทอง!
ลองติดตั้งอีกครั้งโดยใช้ brew install php
สิ่งนี้ควรแก้ไขปัญหาได้! หากไม่สามารถแก้ไขปัญหาได้ ให้เรียกใช้ brew link php --force
(หลังจากนั้น คุณอาจต้องรีสตาร์ทเทอร์มินัลเพื่อให้แน่ใจว่าตรวจพบเวอร์ชันที่เชื่อมโยงใหม่)
brew install php
brew link php --force
หากคุณกำลังเยี่ยมชมโดเมน .test
ของคุณ และได้รับ 502 (เกตเวย์ไม่ถูกต้อง) หลังจากเปลี่ยนไปใช้ PHP เวอร์ชันอื่น แสดงว่าคุณกำลังเผชิญกับปัญหาทั่วไป
โดยปกติปัญหานี้จะแก้ไขได้ด้วยการอัพเกรด Valet และเรียกใช้ valet install
อีกครั้ง
composer global update
valet install
หากคุณเห็นข้อผิดพลาด 502 (เกตเวย์ไม่ถูกต้อง) หลังจากผ่านไปประมาณ 30 วินาที คำขอของคุณน่าจะหมดเวลาแล้ว คุณอาจต้องแก้ไขปัญหาด้านประสิทธิภาพด้วยโค้ดของคุณเอง
PHP Monitor จะบอกคุณว่าการติดตั้ง PHP เสียหาย หากการกำหนดค่าทำให้เกิดคำเตือนหรือข้อผิดพลาดเมื่อพิจารณาหมายเลขเวอร์ชัน
เนื่องจาก PHP Monitor เปลี่ยนเวอร์ชันที่เชื่อมโยงผ่าน Homebrew ทั้ง Valet และ เทอร์มินัล (CLI) ของคุณจึงควรใช้ PHP เวอร์ชันใหม่
อย่างไรก็ตาม นี่อาจไม่เกิดขึ้นกับระบบของคุณ คุณ อาจ เชื่อมโยง PHP เวอร์ชันเฉพาะไว้หากไม่เป็นเช่นนั้น ในกรณีนั้น คุณอาจต้องเปลี่ยนไฟล์ .bashrc
หรือ .zshrc
ที่มีการตั้งค่า PATH (ขึ้นอยู่กับเทอร์มินัลที่คุณใช้)
คุณสามารถดูเวอร์ชันของ PHP ที่ใช้งานได้โดยรัน which php
คุณสามารถค้นหาสาเหตุที่ทำให้เกิดปัญหาได้โดยการรันคำสั่ง บน Intel คุณสามารถรันได้ (แทนที่ 7.4
ด้วยเวอร์ชันที่ใช้งานไม่ได้):
/usr/local/opt/[email protected]/bin/php -r "print phpversion();"
บน Apple Silicon คุณสามารถเรียกใช้ (แทนที่ 7.4
ด้วยเวอร์ชันที่เสีย):
/opt/homebrew/opt/[email protected]/bin/php -r "print phpversion();"
คุณควรเห็นข้อผิดพลาดหรือคำเตือนที่นี่ในเอาต์พุต
โดยปกติแล้ว นี่คือการประกาศส่วนขยายซ้ำซึ่งทำให้เกิดปัญหา หรือเป็นส่วนขยายที่ไม่สามารถโหลดได้ คุณจะต้องแก้ไขปัญหานั้นด้วยตัวเอง (โดยปกติโดยการลบส่วนขยายที่ไม่เหมาะสมออกหรือติดตั้งใหม่)
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Valet 3.0 เป็นอย่างน้อย เนื่องจากมีการเพิ่มการรองรับการแยกใน Valet เวอร์ชันนี้ (โปรดทราบว่า Valet เวอร์ชันนี้จะรองรับ PHP 5.6)
ค่าที่คุณระบุในไฟล์ .ini
ของคุณไม่ถูกต้อง หากเป็นเช่นนั้น PHP จะพยายามแยกวิเคราะห์ค่าของคุณเป็นไบต์ ซึ่งโดยปกติแล้วจะไม่ได้ตั้งใจ ( 1GB
จะแก้ไขได้เพียงไม่กี่ไบต์ และแอปพลิเคชันทั้งหมดของคุณจะเหลือหน่วยความจำไม่เพียงพอ!)
คุณต้องระบุค่าดังนี้: 1024K
, 256M
, 1G
หรืออนุญาตให้ใช้ -1
หรือเพียงจำนวนเต็ม (ซึ่งจะส่งผลให้จำนวนไบต์ N เป็นขีดจำกัด)
ตัวอย่าง : การพยายามใช้ 1GB
เป็นขีดจำกัดหน่วยความจำ จะส่งผลให้มีเครื่องหมายอัศเจรีย์นี้ วิธีที่ถูกต้องในการตั้งค่าขีดจำกัด 1GB คือการใช้ 1G
เป็นค่า (หมายเหตุ: ค่าที่แสดงจะเพิ่ม B
ต่อท้ายเพื่อความชัดเจน ดังนั้นหากคุณตั้ง 1G
ค่าที่รายงานโดย PHP Monitor จะเป็น 1 GB)
(หากคุณใช้ Valet คุณสามารถปรับขีดจำกัดเหล่านี้ได้ในไฟล์ . .conf.d/php-memory-limits.ini
ไม่เช่นนั้น คุณอาจต้องปรับ php.ini
)
แอปจะค้นหารูปแบบเฉพาะในไฟล์ .ini
ที่เกี่ยวข้อง สำหรับส่วนขยายปกติ:
extension="*.so"
; extension="*.so"
สำหรับส่วนขยาย Zend:
zend_extension="*.so"
; zend_extension="*.so"
*
คือ wildcard และชื่อของนามสกุล หากคุณใส่ความคิดเห็นเกี่ยวกับส่วนขยาย ตรวจสอบให้แน่ใจว่าคุณได้ใส่เครื่องหมายอัฒภาค (;) และเว้นวรรคหนึ่งช่องหลังเครื่องหมายอัฒภาคเพื่อให้ PHP Monitor ตรวจพบ
เนื่องจากเวอร์ชัน 3.4 ไฟล์ .ini ที่โหลดทั้งหมดมีแหล่งที่มาเพื่อพิจารณาว่าส่วนขยายใดที่เปิดใช้งาน
หากคุณใช้ PHP Monitor บนเครื่อง Intel หรือบนเครื่อง Apple Silicon ที่เปิดใช้งาน Rosetta PHP Monitor คาดว่าจะมีไบนารี Homebrew หลักใน /usr/local/bin/brew
หากคุณใช้ PHP Monitor บน Apple Silicon โดยไม่มี Rosetta ทาง PHP Monitor คาดว่าจะมีไบนารี Homebrew หลักใน /opt/homebrew/bin/brew
หากมีปัญหาที่นี่ คุณจะได้รับการแจ้งเตือนเมื่อเปิดตัว
ตรวจสอบให้แน่ใจว่าเวอร์ชันของ Homebrew ที่คุณใช้งานตามปกติเป็นเวอร์ชันเดียวกับที่ PHP Monitor คาดหวัง ตัวอย่างเช่น หากคุณใช้ฮาร์ดแวร์ M1 แต่ยังคงใช้ Rosetta สำหรับ Homebrew คุณจะต้องเรียกใช้ PHP Monitor ภายใต้ Rosetta เช่นกัน
PHP Monitor เป็นแอปสากลและรองรับทั้งสองสถาปัตยกรรม ดังนั้น ดูวิธีเปิดใช้งาน Rosetta ด้วย PHP Monitor ได้ที่นี่
แอพจะตรวจสอบการอัปเดตโดยอัตโนมัติซึ่งเป็นสาเหตุที่เป็นไปได้มากที่สุด
สิ่งนี้เกิดขึ้นเมื่อเปิดตัว (เว้นแต่จะปิดใช้งาน) และแอปจะตรวจสอบ Caskfile ที่โฮสต์บน GitHub โดยตรง ข้อมูลนี้ไม่ใช่และจะไม่ถูกนำมาใช้สำหรับการวิเคราะห์ (และเท่าที่ฉันสามารถบอกได้ ก็ไม่สามารถทำได้)
ฉันยังไม่สามารถป้องกันไม่ให้ brew
ทำสิ่งต่าง ๆ ผ่านเครือข่ายได้เมื่อ PHP Monitor ใช้ไบนารี่
แอปนี้มีไฟล์นโยบายการเข้าถึงอินเทอร์เน็ต ดังนั้นหากคุณใช้บางอย่างเช่น Little Snitch ก็ควรมีคำอธิบายว่าเหตุใดการโทรเหล่านี้จึงเกิดขึ้น
คุณต้องตั้งค่าล่วงหน้าเหล่านี้ในไฟล์ JSON ซึ่งอยู่ใน ~/.config/phpmon/config.json
คุณต้องตั้งค่าล่วงหน้าที่ถูกต้องอย่างน้อยหนึ่งรายการเพื่อให้ค่าที่ตั้งล่วงหน้านี้ทำงานใน PHP Monitor
ต่อไปนี้เป็นตัวอย่างของการตั้งค่าล่วงหน้าที่ใช้งานได้:
- "scan_apps": [], "บริการ": [], "ค่าที่ตั้งล่วงหน้า": [ - "name": "โครงการมรดก", "php": "8.0", "ส่วนขยาย": { "xdebug": เท็จ - "การกำหนดค่า": { "memory_limit": "128M", "upload_max_filesize": "128M", "post_max_size": "128M" - - - "ส่งออก": {} -
คุณสามารถละคีย์ php
ไว้ในค่าที่ตั้งล่วงหน้าได้ หากคุณไม่ต้องการให้ค่าที่ตั้งล่วงหน้าเปลี่ยนไปเป็นเวอร์ชัน PHP ที่ระบุ
คำเตือน คุณต้องรีสตาร์ท PHP Monitor เพื่อให้ตรวจพบการเปลี่ยนแปลงเหล่านี้
บริการ Homebrew ข้อมูล จะไม่แสดงหากคุณใช้ Valet ในโหมดสแตนด์อโลน
คุณต้องตั้งค่าบริการเหล่านี้ในไฟล์ JSON ซึ่งอยู่ใน ~/.config/phpmon/config.json
คุณสามารถระบุบริการที่กำหนดเองในไฟล์การกำหนดค่าสำหรับบริการ Homebrew ที่ทำงานในฐานะผู้ใช้ของคุณเอง (ไม่ใช่รูท)
ข้อมูล หากบริการของคุณต้องทำงานในฐานะรูท จะไม่สามารถเพิ่มบริการนั้นลงใน PHP Monitor ได้ในขณะนี้
คุณสามารถค้นหาบริการที่พร้อมใช้งานได้ด้วยการเรียกใช้ brew services list
นี่คือตัวอย่างที่เราเพิ่มบริการ mailhog
และ mysql
ลงใน PHP Monitor:
- "scan_apps": [], "บริการ": ["mailhog", "mysql"], "ค่าที่ตั้งล่วงหน้า": [], "ส่งออก": {} -
คำเตือน คุณต้องรีสตาร์ท PHP Monitor เพื่อให้ตรวจพบการเปลี่ยนแปลงเหล่านี้
คุณต้องกำหนดค่าตัวแปรสภาพแวดล้อมแบบกำหนดเองเหล่านี้ในไฟล์ JSON ซึ่งอยู่ใน ~/.config/phpmon/config.json
PHP Monitor ใช้สภาพแวดล้อมเชลล์เริ่มต้น โดยไม่มีตัวแปรสภาพแวดล้อมที่กำหนดเอง คุณต้องตั้งค่าตัวแปรสภาพแวดล้อมที่กำหนดเองด้วยตนเอง สิ่งเหล่านี้จะถูกใช้สำหรับเช่น Composer
นี่คือตัวอย่างของตัวแปรสภาพแวดล้อม COMPOSER_HOME
ที่ใช้งานได้ซึ่งเป็นที่ยอมรับ:
- "scan_apps": [], "บริการ": [], "ค่าที่ตั้งล่วงหน้า": [], "ส่งออก": { "COMPOSER_HOME": "/absolute/path/to/composer/folder" - -
คำเตือน คุณต้องรีสตาร์ท PHP Monitor เพื่อให้ตรวจพบการเปลี่ยนแปลงเหล่านี้
เมื่อคุณเลือกและคลิกขวาที่โดเมน คุณสามารถเปิดไดเร็กทอรีเหล่านี้ด้วยแอปพลิเคชันต่างๆ ซึ่งสามารถช่วยเร่งขั้นตอนการทำงานของคุณได้ อย่างไรก็ตาม เพื่อให้แอปเหล่านี้ปรากฏขึ้น จะต้องตรวจพบก่อน
แอพที่รองรับ ได้แก่ PhpStorm, Visual Studio Code, Sublime Text, Sublime Merge, iTerm
แอปเหล่านี้ทั้งหมดควรได้รับการตรวจพบอย่างถูกต้อง ไม่ว่าแอปเหล่านั้นจะอยู่ที่ตำแหน่งใดในระบบของคุณก็ตาม หากคุณสามารถเปิดโดยใช้ open -a "appname"
ได้ แอปควรจะตรวจพบและทำงานได้ หากคุณเปลี่ยนชื่อแอป อาจมีปัญหาในการตรวจพบแอป
หากต้องการดูว่าไฟล์ใดบ้างที่ได้รับการตรวจสอบเพื่อตรวจสอบความพร้อมใช้งาน โปรดดูไฟล์นี้
คุณสามารถเพิ่มแอปของคุณเองได้โดยสร้างและแก้ไขไฟล์ ~/.config/phpmon/config.json
และตรวจสอบให้แน่ใจว่าได้ตั้งค่าคีย์ scan_apps
แล้ว:
- "scan_apps": ["Xcode", "คราเคน"] -
คุณสามารถใส่แอพได้มากเท่าที่คุณต้องการในอาร์เรย์ scan_apps
และ PHP Monitor จะตรวจสอบการมีอยู่ของแอพเหล่านี้ คุณไม่จำเป็นต้องตั้งค่าเส้นทางแบบเต็ม แค่ชื่อแอปก็ใช้งานได้ ไม่ใช่ทุกแอปที่รองรับการเปิดโฟลเดอร์ ดังนั้นความสำเร็จของคุณอาจแตกต่างกันไป
คำเตือน คุณต้องรีสตาร์ท PHP Monitor เพื่อให้ตรวจพบการเปลี่ยนแปลงเหล่านี้
PHP Monitor รองรับการรวมแอพของบุคคลที่สามตามค่าเริ่มต้น และคุณสมบัตินี้จะเปิดใช้งานในการตั้งค่า เว้นแต่คุณจะปิดการใช้งาน
คุณสามารถรับเวิร์กโฟลว์อย่างเป็นทางการของ Alfred หรือส่วนขยาย Raycast ได้
หากคุณต้องการบูรณาการบางสิ่งด้วยตัวคุณเอง สิ่งที่คุณต้องทำคือใช้โปรโตคอล phpmon://
และตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการผสานรวมแอพของบุคคลที่สามในการตั้งค่า (ใน PHP Monitor)
การใช้การเรียกกลับของแอป macOS และ PHP Monitor ช่วยให้สามารถเรียกสิ่งต่อไปนี้ได้:
ไฟล์ composer.json
ในรากของโฟลเดอร์ (ถ้ามี) จะถูกสแกนและตีความ
หากเวอร์ชันได้รับการตั้งค่าใน platform
เวอร์ชันนั้นจะมีความสำคัญกว่า หากเวอร์ชันไม่ได้ถูกตั้งค่าใน platform
แต่เป็นเวอร์ชัน require
(ทั่วไปที่สุด) เวอร์ชันนั้นจะถูกนำมาใช้
คุณจะเห็นเครื่องหมายถูกถัดจากหมายเลขเวอร์ชัน หากเวอร์ชัน PHP ที่เปิดใช้งานอยู่ในปัจจุบันเข้ากันได้กับเวอร์ชันที่จำเป็นสำหรับการเรียกใช้ไซต์
สิ่งนี้ถูกกำหนดโดยการประเมินข้อจำกัดข้อกำหนด PHP (เช่น ^8.0
, ~8.0
หรือเวอร์ชันเฉพาะ: 8.0
)
ขณะนี้ PHP Monitor ตรวจสอบไฟล์ composer.json
ของคุณเพื่อลองพิจารณาว่าคุณกำลังดำเนินโครงการใดอยู่
วิธีการนี้เร็วกว่าการขอไดรเวอร์มากเมื่อคุณเชื่อมโยงเว็บไซต์จำนวนมาก แต่มีความน่าเชื่อถือน้อยกว่าเล็กน้อย เนื่องจากเฟรมเวิร์กหรือประเภทของโปรเจ็กต์ที่อนุมานผ่าน composer.json
อาจไม่ถูกต้อง 100%
คุณยังสามารถถาม Valet ได้เสมอโดยใช้บรรทัดคำสั่งหากจำเป็น จากประสบการณ์ของฉันในการเรียกไดรเวอร์ทำให้แอปช้าลงโดยไม่จำเป็น
ตอนนี้คุณสามารถใช้ การปฐมพยาบาลและบริการ > กู้คืนสิทธิ์อนุญาต Homebrew เพื่อแก้ไขปัญหานี้ (ชั่วคราว) และอนุญาตให้ brew upgrade
ที่สะอาดและไม่เจ็บปวดหรือกระบวนการ brew cleanup
หากคุณต้องการทราบข้อมูลเพิ่มเติม โปรดปรึกษาปัญหานี้เพื่อดูข้อมูลเพิ่มเติมว่าทำไมจึงจำเป็น
โปรดติดต่อและเปิดประเด็น PHP Monitor ไม่ควรขัดข้อง... (เว้นแต่คุณจะลบ PHP จริง ๆ ในขณะที่ แอปกำลังทำงานอยู่ นั่นถือเป็นพฤติกรรมปกติ!)
หากคุณต้องการรายงานข้อขัดข้อง โปรดรวม ไฟล์บันทึก ที่เกี่ยวข้องด้วย เพื่อที่เราจะได้ทราบว่ามีอะไรผิดพลาดเกิดขึ้นบ้าง
หากต้องการค้นหาบันทึก ให้ดูใน ~/Library/Logs/DiagnosticReports
(ใน Finder) และดูว่ามีไฟล์ (บันทึก) ใด ๆ ที่ขึ้นต้นด้วย "PHP Monitor" หรือไม่
นอกจากนี้ คุณยังสามารถช่วยฉันหาข้อมูลเพิ่มเติมได้โดยส่งบันทึกโดยละเอียดสำหรับเซสชันล่าสุดของ PHP Monitor ให้กับฉัน การบันทึกถูกปิดใช้งานตามค่าเริ่มต้น
คุณสามารถเริ่มการบันทึกแบบละเอียดเพิ่มเติมได้โดยการเรียกใช้: touch ~/.config/phpmon/verbose
แล้วรีสตาร์ท PHP Monitor คุณสามารถค้นหาการเข้าสู่ระบบล่าสุด: ~/.config/phpmon/last_session.log
กรุณาแนบไปกับรายงานข้อผิดพลาดที่เกี่ยวข้อง
ฉันไม่ได้รวมซอฟต์แวร์การติดตามหรือการวิเคราะห์ใดๆ ดังนั้นหากคุณพบปัญหา โปรดแจ้งให้เราทราบผ่านทางปัญหา
PHP Monitor ใช้งานได้ ฟรี ทั้งหมด แต่หากคุณมีเงินพอ การบริจาคจะช่วยให้โปรเจ็กต์ดำเนินต่อไปและบำรุงรักษาแอปได้
คุณสามารถค้นหาลิงก์ผู้สนับสนุนได้ที่ด้านบนของ repo นี้ หรือคุณสามารถคลิกลิงก์ที่นี่เพื่อไปที่หน้าการสนับสนุนของฉัน
การบริจาคช่วยได้มากกับค่าใช้จ่ายของโปรแกรมนักพัฒนาของ Apple และทำให้ฉันมีแรงบันดาลใจในการทำงานบน PHP Monitor นอกเวลาทำงาน (ฉันมีงานรายวัน!)
ขอขอบคุณเป็นพิเศษไปที่:
ขอบคุณมากสำหรับการมีส่วนร่วมคำพูดและการสนับสนุนของคุณ
แอปนี้รัน php-config --version
ในพื้นหลังเป็นระยะๆ โดยปกติเมื่อใดก็ตามที่มีการแก้ไขการกำหนดค่า Homebrew ตัวเฝ้าดูระบบไฟล์ใช้เพื่อตรวจสอบว่ามีอะไรเปลี่ยนแปลงในไดเร็กทอรี bin
ของ Homebrew หรือไม่
PHP Monitor ยังตรวจสอบไฟล์ .ini
ของคุณเพื่อหาส่วนขยายและโหลดข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของคุณ (ขีดจำกัดหน่วยความจำ ขีดจำกัด POST ขีดจำกัดการอัปโหลด) ดูเพิ่มเติมในส่วน การตรวจจับการเปลี่ยนแปลงการกำหนดค่า ด้านล่าง
ยูทิลิตี้นี้จะตรวจจับเวอร์ชัน PHP ที่คุณติดตั้งผ่าน Homebrew จากนั้นให้คุณสลับไปมาระหว่างเวอร์ชันเหล่านั้น
ตัวสลับจะปิดใช้งานบริการ PHP-FPM ทั้งหมดที่ไม่ได้เป็นของเวอร์ชันที่คุณต้องการใช้ และเชื่อมโยงเวอร์ชันของ PHP ที่ต้องการ จากนั้นระบบจะรีสตาร์ทกระบวนการ FPM ของเวอร์ชัน PHP ที่คุณต้องการ ทั้งหมดนี้เกิดขึ้นแบบขนาน ดังนั้นควรจะเร็วกว่าตัวสลับของ Valet เล็กน้อย
หากคุณใช้ Valet 3 หรือใหม่กว่า เวอร์ชันของ PHP-FPM ที่จำเป็นในการทำให้ไซต์ที่แยกออกมาและทำงานอยู่ก็จะเริ่มต้นหรือหยุดทำงานตามความจำเป็นเช่นกัน
PHP Monitor ติดตามระบบไฟล์ของคุณในไดเร็กทอรี conf.d
ที่เกี่ยวข้องสำหรับเวอร์ชัน PHP ที่เชื่อมโยงอยู่ในปัจจุบัน
เมื่อใดก็ตามที่ไฟล์ .ini ได้รับการแก้ไข PHP Monitor จะพยายามโหลดข้อมูลปัจจุบันเกี่ยวกับการติดตั้ง PHP ที่ใช้งานอยู่อีกครั้ง
หากส่วนขยายหรือกระบวนการอื่นเขียนลงในไฟล์เดียวหลายครั้งในช่วงเวลาสั้น ๆ (< 1 วินาที) PHP Monitor จะโหลดข้อมูลการกำหนดค่าที่ใช้งานอยู่อีกครั้งหลังจากผ่านไประยะหนึ่งเท่านั้น (โดยมีความล่าช้าเล็กน้อย)
Certificates
ของ Valet สำหรับชื่อไซต์นั้นหรือไม่composer.json
ของคุณเพื่อหา "การขึ้นต่อกันที่โดดเด่น" หากคุณมี laravel/framework
ใน require
ของคุณ ก็มีโอกาสที่ดีที่ประเภทโครงการจะเป็น Laravel
หมายเหตุ หากคุณเชื่อมโยงโฟลเดอร์ในเอกสาร เดสก์ท็อป หรือดาวน์โหลด คุณอาจต้องให้สิทธิ์ PHP Monitor เข้าถึงไดเร็กทอรีเหล่านั้นเพื่อให้ PHP Monitor ทำงานได้อย่างถูกต้อง
หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงาน ฉันขอแนะนำให้คุณตรวจสอบซอร์สโค้ด
ฉันพยายามอย่างเต็มที่ที่จะใส่คำอธิบายประกอบให้มากที่สุดเท่าที่จะเป็นไปได้ และหลีกเลี่ยงการใช้สถาปัตยกรรมที่ซับซ้อนเกินไปเพื่อให้โค้ดดูแลรักษาง่ายที่สุดเท่าที่จะเป็นไปได้ รหัสไม่สมบูรณ์แบบหากใช้เวลานาน (การล้างข้อมูลจำนวนมากยังสามารถเกิดขึ้นได้!) แต่แอปพลิเคชันทำงานได้ดี
ฉันยังมีการทดสอบบางส่วนสำหรับส่วนสำคัญของแอปพลิเคชันที่ฉันพบว่าจำเป็นต้องทดสอบ ในอนาคต ฉันต้องการเพิ่มการทดสอบเพิ่มเติมสำหรับบางส่วนของ UI แต่สำหรับตอนนี้การทดสอบเป็นการทดสอบหน่วยมากกว่าการทดสอบคุณสมบัติ
สำหรับข้อมูลโดยละเอียดเพิ่มเติมสำหรับนักพัฒนา โปรดดูไฟล์เอกสารสำหรับนักพัฒนา