ملاحظات برمجية

نظام التشغيل

يدعم webman التشغيل على كل من أنظمة linux وwindows. ومع ذلك، وبما أن workerman لا يدعم إعدادات العمليات المتعددة وخدمات الخلفية على نظام windows، يُفضل استخدام نظام التشغيل linux في البيئات الإنتاجية، بينما يُنصح باستخدام windows فقط لتطوير البرمجيات وعمليات التصحيح.

طريقة التشغيل

نظام linux

php start.php start

هذا الأمر يعمل في وضع التصحيح، وغالبًا ما يستخدم أثناء التطوير، حيث يقوم عملية monitor بتحديث تلقائي عند تعديل الملفات، وعند طباعة البيانات تظهر في الطرفية، وبعد إغلاق الطرفية سيغلق webman أيضًا تلقائيًا.

php start.php start -d

هذا الأمر يعمل في وضع الخدمة، يستخدم في البيئات الإنتاجية، وعند إغلاق الطرفية يستمر webman في التشغيل، ولا تظهر البيانات المطبوعة في الطرفية.
لتحديث الكود، تحتاج إلى تنفيذ php start.php reload أو php start.php restart -d.

نظام windows

لتشغيله، قم بتنفيذ windows.bat أو استخدام الأمر php windows.php، وأوقفه بالضغط على ctrl c.
نظام windows لا يدعم الأوامر stop وreload وstatus وreload connections وغيرها.
windows لا يدعم وضع الخدمة.

الذاكرة الدائمة

webman هو إطار يعمل في الذاكرة الدائمة، حيث يتم تحميل ملفات php كـ opcode وتكون مقيمة في الذاكرة، ولن يتم قراءتها مرة أخرى من القرص (باستثناء ملفات القالب).
لذا، بعد تغيير الأكواد التجارية أو التكوينات في بيئة الإنتاج، يجب تنفيذ php start.php reload لتصبح سارية المفعول.
إذا كان هناك تعديل على إعدادات العمليات ذات الصلة أو تم تثبيت حزمة composer جديدة، ستحتاج إلى إعادة تشغيل php start.php restart.

لتسهيل عملية التطوير، يأتي webman مزودًا بعملية monitor مخصصة لمراقبة تحديثات ملفات الأعمال، وعند تحديث أي ملف أعمال، سيتم تنفيذ reload تلقائيًا.
هذه الميزة تعمل فقط عند تشغيل workerman في وضع التصحيح (عند عدم إضافة -d أثناء التشغيل). يحتاج مستخدمو windows إلى تنفيذ windows.bat أو php windows.php لتفعيلها.

حول عبارات الإخراج

في مشاريع php-fpm التقليدية، يتم عرض البيانات مباشرة على الصفحة عند استخدام وظائف مثل echo و var_dump، ولكن أثناء عملية تطوير webman (عند بدء التشغيل في وضع التصحيح)، تظهر هذه المخرجات عادة على الطرفية وليس على الصفحة (باستثناء المخرجات الموجودة في ملفات القالب).

لا تقم بتنفيذ عبارات exit أو die

سيؤدي تنفيذ die أو exit إلى خروج العملية وإعادة تشغيلها، مما يتسبب في عدم استجابة الطلب الحالي بشكل صحيح.

لا تقم بتنفيذ دالة pcntl_fork

تقوم pcntl_fork بإنشاء عملية مستخدم، وهذا غير مسموح به في webman.

تثبيت مكونات composer

تحتاج المكونات التي تم تثبيتها باستخدام composer require xxx/xxx إلى إعادة التشغيل لتصبح سارية المفعول.