คำแนะนำการติดตั้ง
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
-
ติดตั้งแพ็คเกจ 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
คู่มือการติดตั้งบนระบบ macOS
ระบบ macOS ส่วนใหญ่มักใช้เป็นเครื่องพัฒนา ไม่จำเป็นต้องติดตั้งส่วนขยาย 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 -
อ้างอิงถึง คู่มือการเริ่มต้น - ส่วนตัวอย่างการพัฒนาอย่างง่าย เขียนไฟล์เอนทรี่เพื่อรัน
หรือดาวน์โหลดตัวอย่างที่บรรจุจาก เว็บไซต์ทางการ เพื่อรัน
คู่มือการติดตั้งบนระบบ macOS
วิธีที่ 1: ระบบ macOS มาพร้อมกับ PHP Cli แต่บริการอาจขาดส่วนขยาย pcntl
-
ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สามการติดตั้งจากการคอมไพล์ซอร์สโค้ดส่วนขยาย
pcntl -
ดูจากคู่มือใน ภาคผนวก - วิธีการติดตั้งส่วนขยาย ในส่วนที่สี่ การติดตั้งในรูปแบบ phpize ของส่วนขยาย
event(สามารถข้ามได้เนื่องจากเครื่องพัฒนา) -
ดาวน์โหลดโปรแกรมหลัก Workerman จาก https://www.workerman.net/download/workermanzip หรือไปที่ เว็บไซต์ทางการ ดาวน์โหลดตัวอย่างเพื่อรัน
วิธีที่ 2: ติดตั้ง php และส่วนขยายที่เกี่ยวข้องโดยใช้คำสั่ง 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 extension ไม่ถือว่าเป็นสิ่งจำเป็น เมื่อธุรกิจต้องรองรับการเชื่อมต่อที่มากกว่า 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 ถูกโหลดก่อน