ملاحظة: إذا كان هذا البرنامج مفيدًا لك، أطلب منك وضع نجمة على المستودع ، وبهذه الطريقة أعرف أن البرنامج قيد الاستخدام. كما يرجى النظر في رعاية المشروع لدعمه، لأن هذا شيء أقوم به في وقت فراغي. شكرًا لك!
PHP Monitor (أو phpmon ) هو تطبيق مساعد لنظام التشغيل MacOS خفيف الوزن يعمل على جهاز Mac الخاص بك ويعرض إصدار PHP النشط في شريط الحالة الخاص بك. إنه متكامل تمامًا مع Laravel Valet، لذلك تحتاج إلى إعداده إذا كنت تريد استخدام جميع وظائف التطبيق (راجع الأسئلة الشائعة أدناه للحصول على معلومات حول كيفية إعداد بيئتك).
لقطة الشاشة: عرض الوظائف الرئيسية لشاشة PHP.
من السهل جدًا التبديل بين الإصدارات المختلفة من PHP. ستحصل أيضًا على إشعارات (فقط إذا اخترت الاشتراك بالطبع)!
يمنحك PHP Monitor أيضًا وصولاً سريعًا إلى العديد من الوظائف المفيدة (مثل الوصول إلى ملفات التكوين وإعادة تشغيل الخدمات والمزيد).
يمكنك أيضًا إضافة مجالات جديدة كروابط، وعزل المواقع، وإدارة الخدمات المتنوعة، وإجراء الإسعافات الأولية لإصلاح جميع أنواع مشكلات ارتباط PHP الشائعة.
PHP Monitor هو تطبيق عالمي يتم تشغيله محليًا على أجهزة Mac المستندة إلى Apple Silicon و 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، ولكن هذا سيتطلب منك الموافقة على التطبيق في كل مرة يتم فيها تثبيت التحديث. إذا كنت تستخدم أداة التحديث المضمنة، فلن يكون ذلك ضروريًا.)
إذا كنت ترغب في التكامل مع المشغل الذي تختاره، فيمكنك أيضًا تنزيل سير عمل 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 المستقرة والمدعومة مدعومة أيضًا بواسطة PHP Monitor. ومع ذلك، اعتمادًا على إصدار Valet الذي قمت بتثبيته، قد تختلف إصدارات PHP المتوفرة لأغراض التبديل.
ملاحظة: إذا كان لديك إصدارات PHP مثبتة يمكن اكتشافها بواسطة مراقب PHP ولكنها غير مدعومة بواسطة الإصدار النشط حاليًا من Valet، فسيتم تنبيهك من خلال عنصر في القائمة يحتوي على رمز تعبيري لعلامة تعجب. (
)
تخضع النسخ الخلفية القابلة للتثبيت عبر وظيفة PHP Version Manager الخاصة بـ PHP Monitor للتوفر عبر هذا النقر.
تخضع امتدادات PHP القابلة للتثبيت عبر وظيفة PHP Extension Manager الخاصة بمراقب PHP للتوافر عبر هذا النقر.
للحصول على أقصى قدر من التوافق مع إصدارات PHP الأقدم، قد ترغب في الاستمرار في استخدام Valet 2 أو 3. لمزيد من المعلومات، يرجى مراجعة SECURITY.md لمعرفة إصدارات PHP المدعومة مع إصدارات مختلفة من Valet.
بافتراض أنك قمت بتثبيت صيغة php
، تم تثبيت أحدث إصدار ثابت من PHP. في وقت كتابة هذا التقرير، كان PHP 8.3.
يمكنك تثبيت إصدارات أخرى مدعومة من PHP عبر PHP Monitor's PHP Version Manager . (يمكنك أيضًا تثبيت إصدارات PHP أو ترقيتها يدويًا، ولكن لا يُنصح بذلك.)
يرجى الأخذ في الاعتبار أن تثبيت إصدارات PHP أو تحديثها، حتى عند القيام بذلك عبر PHP Version Manager الخاص بـ PHP Monitor، قد يتسبب في ترقية تبعيات الصيغة المطلوبة الأخرى (البرامج المطلوبة للحفاظ على وظائف إصدارات PHP هذه). قد لا يكون الأمر شفافًا جدًا عند حدوث ذلك، ولكن من المحتمل أن يكون هذا هو السبب إذا استغرق تثبيت إصدار PHP وقتًا أطول من المتوقع: عادةً ما يتم أيضًا تثبيت تبعيات أخرى.
بالإضافة إلى ذلك، قد تؤدي ترقية إصدار معين من PHP أيضًا إلى تحديث الإصدارات الأخرى المثبتة من PHP دفعة واحدة، إذا كانت تبعيات هذا الإصدار تنطبق أيضًا على الإصدار (الإصدارات) الأخرى (الأحدث) من PHP. من الصعب بعض الشيء إدارة إصدارات PHP عبر Homebrew، وحتى مراقب PHP قد يواجه بعض الصعوبات.
إذا واجهت سيناريو غريبًا أو عطلًا، فيرجى فتح مشكلة في أداة تعقب المشكلات والتواصل معنا. أود مواصلة تعزيز هذه العملية لجعلها مضمونة قدر الإمكان.
ملاحظة : قد يؤدي استخدام مراقب PHP عند إدارة إصدارات PHP إلى حدوث تعارضات مؤقتة في الأسماء المستعارة بينما يشير الاسم المستعار للنقر الأساسي والاسم المستعار للنقر إلى إصدار مختلف من PHP، ولكن هذا بشكل عام يمثل إزعاجًا بسيطًا، نظرًا لأن هذا لا ينطبق عادةً إلا عند إصدار PHP جديد الإصدارات.
إذا كنت تستخدم نظام التشغيل macOS Ventura أو إصدارًا أحدث، فهناك خيار في قائمة الإعدادات يمكنك تحديده: "بدء مراقبة PHP عند تسجيل الدخول".
إذا كنت تستخدم إصدارًا أقدم من نظام التشغيل 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 الخاصة بالمشروبات المنزلية:
export PATH=$HOME/bin:~/.composer/vendor/bin:$PATH
إذا كنت تقوم بإضافة ثنائيات composer
وHomebrew، فتأكد من تفضيل ثنائيات Homebrew عن طريق إضافتها إلى المسار الأخير. على نظامي، يبدو الأمر كما يلي:
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 بهذه الطريقة في الوضع المستقل.
إذا كنت ترغب في الحصول على 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 install
يجب أن يؤدي هذا إلى تثبيت dnsmasq
وإعداد Valet. عظيم، هناك تقريبا!
valet trust
أخيرًا، قم بتشغيل PHP Monitor. نظرًا لأن التطبيق موثق وموقع بمعرف المطور، فمن المفترض أن يعمل. ستحتاج إلى الموافقة على الإطلاق الأولي للتطبيق، ولكن يجب أن تكون جاهزًا للبدء الآن.
سيتحقق PHP Monitor من توفر تحديث في كل مرة تقوم فيها بتشغيل التطبيق.
يمكنك تعطيل هذا السلوك بالانتقال إلى التفضيلات (عبر أيقونة مراقب PHP في شريط القائمة) وإلغاء تحديد "البحث عن التحديثات تلقائيًا". (يمكنك دائمًا البحث عن التحديثات يدويًا.)
أسهل طريقة هي ببساطة استخدام PHP Version Manager المدمج، والذي سيسمح لك بترقية إصدارات PHP الخاصة بك بنقرة واحدة.
إذا كنت تريد القيام بذلك يدويًا، فيمكنك اتباع الإرشادات أدناه.
من السهل ارتكاب خطأ هنا، وينتهي الأمر بإصدار غير مرتبط من PHP أو يكون لديك إصدارات مفقودة من PHP Monitor.
إليك ما أفعله عادة:
brew update-reset
brew upgrade
إذا فقدت أي إصدارات PHP بعد ذلك في مراقب PHP، فيرجى تشغيل ما يلي للإصدارات المفقودة:
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 بأن تثبيت 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
كحد أقصى للذاكرة، على سبيل المثال، ستؤدي إلى ظهور علامة التعجب هذه. الطريقة الصحيحة لتعيين حد 1 جيجا بايت هي استخدام 1G
كقيمة. (ملاحظة: سيتم إلحاق القيمة المعروضة B
للتوضيح، لذلك إذا قمت بتعيين 1G
، فإن القيمة التي تم الإبلاغ عنها بواسطة PHP Monitor ستكون 1 جيجابايت.)
(إذا كنت تستخدم Valet، فيمكنك ضبط هذه الحدود في ملف .conf.d/php-memory-limits.ini
. وإلا، فقد تحتاج إلى ضبط php.ini
.)
يبحث التطبيق في ملفات .ini
ذات الصلة عن نمط معين. للتمديدات العادية:
extension="*.so"
; extension="*.so"
لملحقات Zend:
zend_extension="*.so"
; zend_extension="*.so"
*
عبارة عن حرف بدل واسم الامتداد. إذا قمت بالتعليق على الامتداد، فتأكد من التعليق عليه باستخدام فاصلة منقوطة (؛) ومسافة واحدة بعد الفاصلة المنقوطة حتى يتمكن مراقب PHP من اكتشافه.
منذ الإصدار 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 for 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": []، "خدمات": []، "الإعدادات المسبقة": [ { "الاسم": "المشروع القديم"، "php": "8.0"، "الامتدادات": { "xdebug": خطأ }, "إعدادات": { "memory_limit": "128 ميجا", "upload_max_filesize": "128 ميجا", "post_max_size": "128 ميجا" } } ]، "يصدّر": {} }
يمكنك حذف مفتاح 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 بيئة Shell الافتراضية، مع عدم وجود متغيرات بيئة مخصصة. تحتاج إلى تعيين متغيرات البيئة المخصصة يدويًا. ثم يتم استخدامها على سبيل المثال للملحن.
فيما يلي مثال لمتغير بيئة العمل COMPOSER_HOME
والذي يتم احترامه:
{ "scan_apps": []، "خدمات": []، "الإعدادات المسبقة": []، "يصدّر": { "COMPOSER_HOME": "/مطلق/مسار/إلى/مؤلف/مجلد" } }
تحذير يجب عليك إعادة تشغيل PHP Monitor حتى يتم اكتشاف هذه التغييرات.
عند تحديد مجال ما والنقر عليه بزر الماوس الأيمن، يمكنك فتح هذه الأدلة باستخدام تطبيقات مختلفة. يمكن أن يساعد هذا في تسريع سير عملك. ومع ذلك، لكي تظهر هذه التطبيقات، يجب اكتشافها أولاً.
التطبيقات المدعومة هي: PhpStorm، Visual Studio Code، Sublime Text، Sublime Merge، iTerm .
يجب اكتشاف كل هذه التطبيقات بشكل صحيح، بغض النظر عن موقعها على نظامك. إذا كان بإمكانك فتحه باستخدام open -a "appname"
، فمن المفترض أن يتم اكتشاف التطبيق وتشغيله. إذا قمت بإعادة تسمية التطبيق، فقد تكون هناك مشكلة في اكتشافه.
لمعرفة الملفات التي تم فحصها لتحديد مدى توفرها، راجع هذا الملف.
يمكنك إضافة تطبيقاتك الخاصة عن طريق إنشاء ملف ~/.config/phpmon/config.json
وتحريره، والتأكد من تعيين مفتاح scan_apps
:
{ "scan_apps": ["Xcode"، "Kraken"] }
يمكنك وضع أي عدد تريده من التطبيقات في مصفوفة scan_apps
، وسيقوم مراقب PHP بالتحقق من وجود هذه التطبيقات. لا تحتاج إلى تعيين المسار الكامل، فقط اسم التطبيق يجب أن يعمل. ومع ذلك، لا تدعم جميع التطبيقات فتح مجلد، لذلك قد يختلف نجاحك.
تحذير يجب عليك إعادة تشغيل PHP Monitor حتى يتم اكتشاف هذه التغييرات.
يدعم PHP Monitor عمليات تكامل تطبيقات الطرف الثالث بشكل افتراضي، ويتم تمكين هذه الميزة في التفضيلات ما لم تقم بتعطيلها.
يمكنك الحصول على سير عمل Alfred الرسمي أو ملحق Raycast.
إذا كنت ترغب في دمج شيء ما بنفسك، فكل ما عليك فعله هو استخدام بروتوكول phpmon://
والتأكد من تمكين عمليات تكامل تطبيقات الطرف الثالث في التفضيلات (في مراقب PHP).
باستخدام عمليات رد اتصال التطبيق، يسمح نظام التشغيل macOS وPHP Monitor باستدعاء ما يلي:
يتم فحص ملف composer.json
الموجود في جذر المجلد (إذا كان موجودًا) وتفسيره.
إذا تم تعيين الإصدار في platform
، فستكون له الأولوية. إذا لم يتم تعيين الإصدار في platform
ولكنه require
(الأكثر شيوعًا)، فسيتم استخدام هذا الإصدار.
ستشاهد علامة اختيار بجوار رقم الإصدار إذا كان إصدار PHP الممكّن حاليًا متوافقًا مع الإصدار المطلوب لتشغيل الموقع.
يتم تحديد ذلك من خلال تقييم قيود متطلبات PHP (على سبيل المثال ^8.0
أو ~8.0
أو إصدار محدد: 8.0
).
يقوم مراقب PHP حاليًا بفحص ملف composer.json
الخاص بك لمحاولة معرفة المشروع الذي تقوم بتشغيله.
يعد هذا الأسلوب أسرع بكثير من طلب برنامج التشغيل عندما يكون لديك العديد من المواقع المرتبطة، ولكنه أقل موثوقية قليلاً نظرًا لأن إطار العمل أو نوع المشروع المستنتج عبر composer.json
قد لا يكون دقيقًا بنسبة 100%.
لا يزال بإمكانك دائمًا أن تطلب من Valet باستخدام سطر الأوامر، إذا كان ذلك ضروريًا. في تجربتي، أدى جلب برامج التشغيل إلى إبطاء التطبيق دون داع.
يمكنك الآن استخدام الإسعافات الأولية والخدمات > استعادة أذونات البيرة المنزلية (مؤقتًا) لحل هذه المشكلة والسماح brew upgrade
نظيف وغير مؤلم أو عملية brew cleanup
.
إذا كنت ترغب في معرفة المزيد، راجع هذه المشكلة للحصول على مزيد من المعلومات حول سبب الحاجة إلى ذلك.
الرجاء التواصل وفتح موضوع يجب ألا يتعطل مراقب PHP... (إلا إذا كنت تقوم بالفعل بإزالة PHP أثناء تشغيل التطبيق، فهذا يعتبر سلوكًا عاديًا!)
إذا كنت ترغب في الإبلاغ عن أي عطل، فيرجى تضمين ملفات السجل المرتبطة حتى أتمكن من معرفة الخطأ الذي حدث بالضبط.
للعثور على السجلات، قم بإلقاء نظرة على ~/Library/Logs/DiagnosticReports
(في Finder) ومعرفة ما إذا كان هناك أي ملفات (سجل) تبدأ بـ "PHP Monitor".
بالإضافة إلى ذلك، يمكنك مساعدتي في معرفة المزيد من المعلومات عن طريق إرسال سجلك المطول إليّ لآخر جلسة لمراقب PHP. يتم تعطيل التسجيل بشكل افتراضي.
يمكنك بدء التسجيل المطول الإضافي عن طريق تشغيل: touch ~/.config/phpmon/verbose
وإعادة تشغيل PHP Monitor. يمكنك العثور على آخر تسجيل دخول: ~/.config/phpmon/last_session.log
. يرجى إرفاقه بتقرير الأخطاء ذي الصلة.
لم أقم بتضمين أي برنامج تتبع أو تحليلات، لذا إذا واجهت مشكلات، فأخبرني بذلك عبر مشكلة.
يتوفر PHP Monitor مجانًا تمامًا، ولكن إذا كنت تستطيع تحمل تكاليفه، فإن التبرع سيساعد في إبقاء المشروع على قيد الحياة والحفاظ على التطبيق.
يمكنك العثور على رابط الراعي في الجزء العلوي من هذا الريبو أو يمكنك النقر فوق الرابط هنا ليتم نقلك إلى صفحة الرعاية الخاصة بي.
تساعد التبرعات حقًا في تكلفة برنامج Apple Developer، وتحفزني لمواصلة العمل على PHP Monitor خارج ساعات العمل (لدي وظيفة يومية!).
شكر خاص أتوجه به إلى:
أشكركم جزيل الشكر على مساهماتكم وكلماتكم الطيبة ودعمكم.
يقوم هذا التطبيق بتشغيل php-config --version
في الخلفية بشكل دوري، عادةً عندما يتم تعديل تكوين Homebrew لديك. يتم استخدام مراقب نظام الملفات لتحديد ما إذا كان هناك أي تغيير في دليل bin
Homebrew الخاص بك.
يقوم مراقب PHP أيضًا بفحص ملفات .ini
الخاصة بك بحثًا عن الامتدادات ويقوم بتحميل المزيد من المعلومات حول حدودك (حد الذاكرة، حد POST، حد التحميل). راجع أيضًا القسم الخاص باكتشاف تغيير التكوين أدناه.
ستكتشف هذه الأداة إصدارات PHP التي قمت بتثبيتها عبر Homebrew، ثم تسمح لك بالتبديل بينها.
سيقوم المحول بتعطيل كافة خدمات PHP-FPM التي لا تنتمي إلى الإصدار الذي ترغب في استخدامه، وربط الإصدار المطلوب من PHP. وبعد ذلك، سيتم إعادة تشغيل عملية FPM لإصدار PHP المطلوب. يحدث كل هذا بالتوازي، لذا يجب أن يكون هذا أسرع قليلًا من مبدل Valet.
إذا كنت تستخدم Valet 3 أو أحدث، فسيتم أيضًا تشغيل أو إيقاف إصدارات PHP-FPM المطلوبة للحفاظ على تشغيل المواقع المعزولة حسب الحاجة.
يقوم مراقب PHP بمراقبة نظام الملفات الخاص بك في دليل conf.d
ذي الصلة لإصدار PHP المرتبط حاليًا.
كلما تم تعديل ملف .ini، سيحاول مراقب PHP إعادة تحميل المعلومات الحالية حول تثبيت PHP النشط.
إذا قام امتداد أو عملية أخرى بالكتابة إلى ملف واحد عدة مرات في فترة زمنية قصيرة (أقل من ثانية واحدة)، فلن يقوم مراقب PHP بإعادة تحميل معلومات التكوين النشطة إلا بعد فترة (مع تأخير بسيط).
Certificates
Valet لاسم الموقع هذا.composer.json
الخاص بك بحثًا عن "التبعيات البارزة". إذا كان لديك laravel/framework
في require
، فهناك فرصة جيدة أن يكون نوع المشروع هو Laravel
، بعد كل شيء.ملاحظة: إذا قمت بربط مجلد في المستندات أو سطح المكتب أو التنزيلات، فقد تحتاج إلى منح مراقب PHP حق الوصول إلى تلك الدلائل حتى يعمل مراقب PHP بشكل صحيح.
إذا كنت تريد معرفة المزيد حول كيفية عمل ذلك، أنصحك بمراجعة الكود المصدري.
لقد بذلت قصارى جهدي للتعليق قدر الإمكان، وتجنبت استخدام بنية معقدة للغاية للحفاظ على الكود سهل الصيانة قدر الإمكان. الكود ليس مثاليًا على المدى الطويل (لا يزال من الممكن إجراء الكثير من عمليات التنظيف!) ولكن التطبيق يعمل بشكل جيد.
لدي أيضًا بعض الاختبارات للأجزاء الرئيسية من التطبيق التي وجدت أنها بحاجة إلى الاختبار. في المستقبل، أود إضافة المزيد من الاختبارات لبعض عناصر واجهة المستخدم، ولكن في الوقت الحالي الاختبارات عبارة عن اختبارات وحدة أكثر من اختبارات الميزات.
للحصول على معلومات أكثر تفصيلاً للمطورين، يرجى الاطلاع على ملف الوثائق للمطورين.