คำแนะนำการติดตั้ง

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 หมายความว่าทรงงานใกล้เคียงกับความต้องการของ Workerman ให้ไปที่ เว็บไซต์ทางการ ดาวน์โหลดตัวอย่างแล้วสามารถใช้งานได้เลย

หากไม่เป็น ok ทั้งหมด ให้ดูเอกสารด้านล่างเพื่อติดตั้งส่วนขยายที่ขาดหายไป

(หมายเหตุ: สคริปต์ตรวจสอบไม่ได้ตรวจสอบส่วนขยาย event หากจำนวนการเชื่อมต่อพร้อมกันของธุรกิจมากกว่า 1024 ต้องติดตั้งส่วนขยาย event และ ปรับแต่งเคอร์เนลของ Linux วิธีการติดตั้งส่วนขยายให้ดูจากคำอธิบายด้านล่าง)

การติดตั้งส่วนขยายที่ขาดหายไปใน PHP ที่มีอยู่แล้ว

การติดตั้งส่วนขยาย pcntl และ posix:

ระบบ CentOS
หาก PHP ติดตั้งผ่าน yum ให้รันคำสั่ง yum install php-process เพื่อติดตั้งส่วนขยาย pcntl และ posix

หากติดตั้งไม่สำเร็จหรือ PHP ไม่ได้ติดตั้งผ่าน yum ให้ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สามการติดตั้งจากการคอมไพล์ซอร์สโค้ด

ระบบ Debian/Ubuntu/macOS
ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สามการติดตั้งจากการคอมไพล์ซอร์สโค้ด

การติดตั้งส่วนขยาย event:

เพื่อรองรับการเชื่อมต่อพร้อมกันที่มากขึ้น จะต้องติดตั้งส่วนขยาย event และ ปรับแต่งเคอร์เนลของ Linux วิธีการติดตั้งมีดังนี้:

ระบบ CentOS

  1. ติดตั้งแพ็คเกจ libevent-devel ที่เป็นส่วนขยาย event ให้รันคำสั่ง

    yum install libevent-devel -y
    # หากไม่สามารถติดตั้งได้ให้ลองใช้คำสั่งด้านล่าง
    # yum install libevent2-devel -y
  2. ติดตั้งส่วนขยาย event โดยรันคำสั่ง
    (ส่วนขยาย event ต้องการ PHP >= 5.4)

    pecl install event

    หมายเหตุ: เมื่อมีข้อความแจ้งเตือน: Include libevent OpenSSL support [yes] : ให้พิมพ์ no และกด Enter ส่วนอื่นให้กด Enter ตามปกติ

  3. รัน php --ini หาและเปิดไฟล์ php.ini จากนั้นให้เพิ่มการตั้งค่าดังต่อไปนี้ในบรรทัดสุดท้าย

    extension=event.so

การติดตั้งบนระบบ Debian/Ubuntu

  1. ติดตั้งแพ็คเกจ libevent-dev ที่ต้องการส่วนขยาย event โดยรันคำสั่ง

    apt-get install libevent-dev -y
    # หากไม่สามารถติดตั้งได้ กรุณาลองตามนี้
    # apt-get install libevent2-dev -y
  2. ติดตั้งส่วนขยาย event โดยรันคำสั่ง

    pecl install event

    หมายเหตุ: เมื่อมีข้อความแจ้งเตือน: Include libevent OpenSSL support [yes] : ให้พิมพ์ no และกด Enter ส่วนอื่นให้กด Enter ตามปกติ

  3. รัน php --ini หาและเปิดไฟล์ php.ini จากนั้นให้เพิ่มการตั้งค่าดังต่อไปนี้ในบรรทัดสุดท้าย

    extension=event.so

คู่มือการติดตั้งบนระบบ macOS

ระบบ macOS ส่วนใหญ่มักใช้เป็นเครื่องพัฒนา ไม่จำเป็นต้องติดตั้งส่วนขยาย event

การติดตั้งระบบใหม่ (ติดตั้ง PHP + ส่วนขยายใหม่ทั้งหมด)

คู่มือการติดตั้งบนระบบ CentOS

  1. รันคำสั่ง (ขั้นตอนนี้รวมถึงการติดตั้งโปรแกรมหลัก php-cli รวมถึง pcntl, posix, ไลบรารี libevent และโปรแกรม git)

    yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
  2. ติดตั้งส่วนขยาย event โดยรันคำสั่ง
    (หมายเหตุ: ส่วนขยาย event ต้องการ PHP >= 5.4)

    pecl install event

    หมายเหตุ: เมื่อมีข้อความแจ้งเตือน: Include libevent OpenSSL support [yes] : ให้พิมพ์ no และกด Enter ส่วนอื่นให้กด Enter ตามปกติ

  3. รัน php --ini หาและเปิดไฟล์ php.ini จากนั้นให้เพิ่มการตั้งค่าดังต่อไปนี้ในบรรทัดสุดท้าย

    extension=event.so
  4. รันคำสั่ง (ขั้นตอนนี้คือการดาวน์โหลดโปรแกรมหลัก Workerman จาก Github)

    git clone https://github.com/walkor/Workerman
  5. อ้างอิงถึง คู่มือการเริ่มต้น - ส่วนตัวอย่างการพัฒนาอย่างง่าย เขียนไฟล์เอนทรี่เพื่อรัน
    หรือดาวน์โหลดตัวอย่างที่บรรจุจาก เว็บไซต์ทางการ เพื่อรัน

คู่มือการติดตั้งบนระบบ Debian/Ubuntu

  1. รันคำสั่ง (ขั้นตอนนี้รวมถึงการติดตั้งโปรแกรมหลัก php-cli, ไลบรารี libevent และโปรแกรม git)

    apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
  2. ติดตั้งส่วนขยาย event โดยรันคำสั่ง
    (หมายเหตุ: ส่วนขยาย event ต้องการ PHP >= 5.4)

    pecl install event

    หมายเหตุ: เมื่อมีข้อความแจ้งเตือน: Include libevent OpenSSL support [yes] : ให้พิมพ์ no และกด Enter ส่วนอื่นให้กด Enter ตามปกติ

  3. รัน php --ini หาและเปิดไฟล์ php.ini จากนั้นให้เพิ่มการตั้งค่าดังต่อไปนี้ในบรรทัดสุดท้าย

    extension=event.so
  4. รันคำสั่ง (ขั้นตอนนี้คือการดาวน์โหลดโปรแกรมหลัก Workerman จาก Github)

    git clone https://github.com/walkor/Workerman
  5. อ้างอิงถึง คู่มือการเริ่มต้น - ส่วนตัวอย่างการพัฒนาอย่างง่าย เขียนไฟล์เอนทรี่เพื่อรัน
    หรือดาวน์โหลดตัวอย่างที่บรรจุจาก เว็บไซต์ทางการ เพื่อรัน

คู่มือการติดตั้งบนระบบ macOS

วิธีที่ 1: ระบบ macOS มาพร้อมกับ PHP Cli แต่บริการอาจขาดส่วนขยาย pcntl

  1. ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สามการติดตั้งจากการคอมไพล์ซอร์สโค้ดส่วนขยาย pcntl

  2. ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สี่ การติดตั้งในรูปแบบ phpize ของส่วนขยาย event (สามารถข้ามได้เนื่องจากเครื่องพัฒนา)

  3. ดาวน์โหลดโปรแกรมหลัก Workerman จาก https://www.workerman.net/download/workermanzip หรือไปที่ เว็บไซต์ทางการ ดาวน์โหลดตัวอย่างเพื่อรัน

วิธีที่ 2: ติดตั้ง php และส่วนขยายที่เกี่ยวข้องโดยใช้คำสั่ง brew

  1. รันคำสั่งนี้เพื่อติดตั้งเครื่องมืือ brew (หากติดตั้งไว้แล้วสามารถข้ามขั้นตอนนี้ได้)

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. รันคำสั่งนี้เพื่อติดตั้ง php

    brew install php
  3. รันคำสั่งนี้เพื่อติดตั้งส่วนขยาย event

    brew install php-event    
  4. ไปที่ เว็บไซต์ทางการ ดาวน์โหลดตัวอย่างเพื่อรัน

คำอธิบายส่วนขยาย Event

Event extension ไม่ถือว่าเป็นสิ่งจำเป็น เมื่อธุรกิจต้องรองรับการเชื่อมต่อที่มากกว่า 1000 แนะนำให้ติดตั้ง Event ซึ่งสามารถรองรับการเชื่อมต่อที่สูงมาก หากจำนวนการเชื่อมต่อพร้อมกันของธุรกิจต่ำ เช่น ต่ำกว่า 1000 สามารถไม่ต้องติดตั้งได้

คำถามที่พบบ่อย

  1. หากเกิดข้อผิดพลาดต่อไปนี้ 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

  2. หากเกิดข้อผิดพลาดต่อไปนี้ 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 ถูกโหลดก่อน