متطلبات البيئة
مستخدمو Windows
لقد أصبح Workerman يدعم أنظمة Linux و Windows في الإصدار 3.5.3 وما بعده.
-
يتطلب PHP>=5.4، ويجب تكوين متغيرات البيئة لـ PHP بشكل صحيح.
-
لا يعتمد إصدار Workerman على Windows على أي امتدادات.
-
يمكنك معرفة المزيد عن التثبيت والاستخدام والقيود هنا.
-
نظرًا لوجود العديد من القيود في استخدام Workerman على Windows، يُوصى باستخدام نظام Linux في البيئات الرسمية، بينما يُوصى باستخدام نظام Windows فقط في بيئات التطوير.
====النص أدناه صالح فقط لمستخدمي Linux، يجب على مستخدمي Windows تجاهله. ====
مستخدمو Linux (بما في ذلك Mac OS)
يمكن لمستخدمي Linux استخدام إصدار Workerman الخاص بـ Linux فقط.
-
تثبيت PHP>=5.4، وتثبيت امتدادات pcntl و posix.
-
يُوصى بتثبيت امتداد event، لكنه ليس إلزاميًا (ملاحظة: يحتاج امتداد event إلى PHP>=5.4).
نص فحص بيئة Linux
يمكن لمستخدمي Linux تشغيل النص أدناه للتحقق مما إذا كانت البيئة المحلية تلبي متطلبات Workerman
curl -Ss https://www.workerman.net/check | php
إذا كانت جميع التنبيهات في النص تشير إلى ok، فهذا يعني أن البيئة تلبي متطلبات تشغيل Workerman.
(ملاحظة: لا يقوم نص الفحص بالتحقق من امتداد event، إذا كان عدد الاتصالات المتزامنة أكبر من 1024، يُرجى تثبيت امتداد event، وطريقة التثبيت مدرجة في القسم التالي).
توضيحات تفصيلية
حول PHP-CLI
يعمل Workerman في وضع سطر أوامر PHP (PHP-CLI). يُعتبر PHP-CLI برنامجًا مستقلًا قابلًا للتنفيذ، يختلف عن PHP-FPM أو Apache MOD-PHP، حيث لا توجد أي تعارضات أو تبعيات بينهما، وهما مستقلان تمامًا.
حول الامتدادات التي يعتمد عليها Workerman
يعتبر امتداد pcntl امتدادًا مهمًا لتحكم العمليات في بيئة Linux، ويستخدم Workerman ميزات مثل إنشاء العمليات، والتحكم في الإشارات، والمؤقتات، ومراقبة حالة العمليات. هذا الامتداد غير مدعوم على منصة Windows.
يمكّن امتداد posix PHP في بيئة Linux من استدعاء واجهات النظام المقدمة عبر معيار POSIX. يستخدم Workerman بشكل رئيسي الواجهات ذات الصلة لتنفيذ ميزات مثل العملية في الخلفية والتحكم في مجموعات المستخدمين. هذا الامتداد غير مدعوم على منصة Windows.
يمكّن امتداد event PHP من استخدام آليات معالجة الأحداث المتقدمة مثل Epoll و Kqueue، مما يمكن أن يزيد بشكل كبير من كفاءة استخدام المعالج أثناء الاتصالات المتزامنة العالية. يعتبر ذلك مهمًا جدًا في تطبيقات الاتصالات الطويلة المتزامنة. لا يُعد امتداد libevent (أو event) إلزاميًا، فإذا لم يكن مثبتًا، سيتم استخدام آلية معالجة الأحداث Select الأصلية في PHP بشكل افتراضي.
كيفية تثبيت الامتداد
راجع قسم تثبيت الامتداد.