تعليمات التثبيت
Workerman هي في الواقع حزمة شفرة PHP. إذا كانت بيئة PHP الخاصة بك مثبتة بالفعل، فلا تحتاج سوى إلى تنزيل شيفرة المصدر Workerman أو عرض النماذج لتتمكن من التشغيل.
تثبيت باستخدام Composer:
composer require workerman/workerman
تنبيه
قد تكون بعض مرايا Composer غير كاملة، استخدم الأمرcomposer config -g --unset repos.packagistلإزالة الوكيل
مستخدمو Windows (يجب القراءة)
ابتداءً من إصدار workerman 3.5.3، يمكن لـ workerman دعم أنظمة Windows وLinux في نفس الوقت. يحتاج مستخدمو Windows إلى تكوين متغير بيئة PHP.
=== الصفحة أدناه تنطبق فقط على بيئة workerman Linux، يُرجى تجاهل ذلك مستخدمي Windows ===
فحص بيئة نظام Linux
يمكن لنظام Linux استخدام النص البرمجي التالي لاختبار ما إذا كانت بيئة PHP المحلية تلبي متطلبات تشغيل Workerman.
curl -Ss https://www.workerman.net/check | php
إذا أظهر السكربت أعلاه "ok" بالكامل، فهذا يعني أن المتطلبات متوفرة، يمكنك الذهاب إلى الموقع الرسمي وتنزيل النموذج للتشغيل.
إذا لم يكن كل شيء "ok"، يرجى الرجوع إلى الوثائق أدناه لإعداد الإضافات المفقودة.
(ملحوظة: لم يتحقق سكربت الفحص من إضافة event، إذا كان عدد اتصالات العمل المتزامنة أكبر من 1024، يجب تثبيت إضافة event، ويجب تحسين نواة Linux، طريقة تثبيت الإضافات يمكنك التفكير في التعليمات أدناه)
تثبيت الإضافات المفقودة على بيئة PHP الحالية
تثبيت إضافتي pcntl و posix:
نظام centos
إذا تم تثبيت PHP باستخدام yum، يمكنك تشغيل الأمر yum install php-process لتثبيت إضافتي pcntl و posix.
إذا فشلت عملية التثبيت أو لم يتم تثبيت PHP باستخدام yum، يرجى الرجوع إلى قسم الملحق - تثبيت الإضافات في الطريقة الثالثة لتركيب التثبيت من المصدر.
أنظمة debian/ubuntu/mac os
يرجى الرجوع إلى قسم الملحق - تثبيت الإضافات في الطريقة الثالثة لتركيب التثبيت من المصدر.
تثبيت إضافة event:
لتتمكن من دعم عدد أكبر من الاتصالات المتزامنة، يجب تثبيت إضافة event، ويجب تحسين نواة Linux. طريقة التثبيت كالآتي:
نظام centos
-
تثبيت حزمة libevent-devel المعتمدة على إضافة event، تشغيل الأمر
yum install libevent-devel -y # إذا لم تتمكن من التثبيت، حاول استخدام الأمر التالي # yum install libevent2-devel -y -
تثبيت إضافة event، تشغيل الأمر
(تتطلب إضافة event PHP>=5.4)pecl install eventملاحظة: عند ظهور "
Include libevent OpenSSL support [yes] :"، أدخلnoواضغط على Enter، والآخر يمكنك الضغط على Enter مباشرة -
تشغيل
php --iniللعثور على ملف php.ini وفتحه، ثم إضافة التكوين أدناه في السطر الأخيرextension=event.so
تثبيت أنظمة debian/ubuntu
-
تثبيت حزمة libevent-dev المعتمدة على إضافة event، تشغيل الأمر
apt-get install libevent-dev -y # إذا لم تتمكن من التثبيت، يرجى محاولة الأمر التالي # apt-get install libevent2-dev -y -
تثبيت إضافة event، تشغيل الأمر
pecl install eventملاحظة: عند ظهور "
Include libevent OpenSSL support [yes] :"، أدخلnoواضغط على Enter، والآخر يمكنك الضغط على Enter مباشرة -
تشغيل
php --iniللعثور على ملف php.ini وفتحه، ثم إضافة التكوين أدناه في السطر الأخيرextension=event.so
دليل تثبيت نظام mac os
نظام mac عادةً ما يُستخدم كآلة تطوير، فلا حاجة لتثبيت إضافة event.
تثبيت نظام جديد (تثبيت جديد لـ PHP + الإضافات)
دليل تثبيت نظام centos
-
تشغيل الأمر (تشمل هذه الخطوة تثبيت البرنامج الرئيسي php-cli بالإضافة إلى pcntl وposix ومكتبة libevent وبرنامج git)
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y -
تثبيت إضافة event، تشغيل الأمر
(ملحوظة: تحتاج إضافة event PHP>=5.4)pecl install eventملاحظة: عند ظهور "
Include libevent OpenSSL support [yes] :"، أدخلnoواضغط على Enter، والآخر يمكنك الضغط على Enter مباشرة -
تشغيل
php --iniللعثور على ملف php.ini وفتحه، ثم إضافة التكوين أدناه في السطر الأخيرextension=event.so -
تشغيل الأمر (تشمل هذه الخطوة تحميل البرنامج الرئيسي Workerman من GitHub)
git clone https://github.com/walkor/Workerman -
الرجوع إلى إرشادات البدء - قسم أمثلة التطوير البسيطة لكتابة ملف الإدخال للتشغيل.
أو يمكنك تنزيل نموذج جاهز من الموقع الرسمي للتشغيل.
دليل تثبيت أنظمة debian/ubuntu
-
تشغيل الأمر (تشمل هذه الخطوة تثبيت البرنامج الرئيسي php-cli ومكتبة libevent وبرنامج git)
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y -
تثبيت إضافة event، تشغيل الأمر
(ملحوظة: تحتاج إضافة event PHP>=5.4)pecl install eventملاحظة: عند ظهور "
Include libevent OpenSSL support [yes] :"، أدخلnoواضغط على Enter، والآخر يمكنك الضغط على Enter مباشرة -
تشغيل
php --iniللعثور على ملف php.ini وفتحه، ثم إضافة التكوين أدناه في السطر الأخيرextension=event.so -
تشغيل الأمر (تشمل هذه الخطوة تحميل البرنامج الرئيسي Workerman من GitHub)
git clone https://github.com/walkor/Workerman -
الرجوع إلى إرشادات البدء - قسم أمثلة التطوير البسيطة لكتابة ملف الإدخال للتشغيل.
أو يمكنك تنزيل نموذج جاهز من الموقع الرسمي للتشغيل.
دليل تثبيت نظام mac os
الطريقة 1: نظام mac يأتي مع PHP Cli، لكن قد يفتقر إلى إضافة pcntl.
-
الرجوع إلى قسم الملحق - تثبيت الإضافات في الطريقة الثالثة لتركيب التثبيت من المصدر لإضافة
pcntl. -
الرجوع إلى قسم الملحق - تثبيت الإضافات في الطريقة الرابعة لاستخدام phpize لتثبيت إضافة
event(يمكن تخطي ذلك كونه آلة تطوير). -
تحميل البرنامج الرئيسي Workerman من https://www.workerman.net/download/workermanzip، أو تنزيل أمثلة من الموقع الرسمي للتشغيل.
الطريقة 2: تثبيت PHP والإضافات المناسبة باستخدام أمر brew
-
تشغيل الأمر التالي لتثبيت أدوات
brew(إذا تم تثبيتbrewسابقًا يمكن تخطي هذه الخطوة)/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
تشغيل الأمر التالي لتثبيت
phpbrew install php -
تشغيل الأمر التالي لتثبيت إضافة
eventbrew install php-event -
الذهاب إلى الموقع الرسمي لتنزيل الأمثلة للتشغيل
وصف إضافة Event
إضافة Event ليست ضرورية، لكن عندما تتطلب الأعمال دعم أكثر من 1000 اتصال متزامن، يُوصى بتثبيت إضافة Event لدعم عدد كبير من الاتصالات المتزامنة. إذا كانت الاتصالات المتزامنة في العمل منخفضة، مثل أقل من 1000 اتصال متزامن، فلا حاجة لتثبيت.
الأسئلة الشائعة
-
إذا ظهرت لك الرسالة الخطأ التالية
checking for include/event2/event.h... not found، يرجى أولا محاولة حذف مكتبة libevent-dev(el) وإعادة تثبيت libevent2-dev(el).
لنظام centos: yum remove libevent-devel && yum install libevent2-devel
لنظام debian/ubuntu: apt-get remove libevent-dev && apt-get install libevent2-dev -
إذا ظهرت لك الرسالة الخطأ التالية
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '.../event.so' - ..../event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0.
يرجى تغيير ترتيب تحميل event.so و socket.so، أي في php.ini تأكد من كتابةextension=socket.soقبلextension=event.soحتى يتم تحميل إضافة socket أولاً.