Kurulum Talimatları
Workerman aslında bir PHP kod paketidir. Eğer PHP ortamınız zaten kuruluysa, sadece Workerman kaynak kodunu veya demo dosyasını indirip çalıştırabilirsiniz.
Composer ile Kurulum:
composer require workerman/workerman
Dikkat
Bazı composer proxy ayna sunucuları eksik olabilir, yukarıdaki komutu kullanarakcomposer config -g --unset repos.packagistproxy'yi kaldırın.
Windows Kullanıcıları (Okunması Gerekenler)
Workerman 3.5.3 sürümünden itibaren Windows ve Linux sistemlerini aynı anda desteklemektedir.
Windows kullanıcıları PHP ortam değişkenlerini yapılandırmalıdır.
=== Bu sayfanın geri kalanı yalnızca Linux ortamı olan Workerman için geçerlidir, Windows kullanıcıları lütfen göz ardı edin ===
Linux Sistemi Ortam Kontrolü
Linux sistemi, yerel PHP ortamının Workerman çalışma gereksinimlerini karşılayıp karşılamadığını test etmek için aşağıdaki betiği kullanabilir.
curl -Ss https://www.workerman.net/check | php
Yukarıdaki betik tamamen ok gösteriyorsa, Workerman gereksinimlerini karşıladığı anlamına gelir. Doğrudan resmi siteye gidip örnekleri indirerek çalıştırabilirsiniz.
Eğer tümü ok değilse, eksik olan genişletmeleri yüklemek için aşağıdaki belgeleri referans alabilirsiniz.
(Dikkat: Kontrol betiği event genişletmesini kontrol etmez, eğer iş yükü eşzamanlı bağlantı sayısı 1024'ten büyükse event genişletmesini yüklemeniz gerekmekte ve ayrıca Linux çekirdeğini optimize ediniz, genişletme yükleme yöntemleri aşağıdaki açıklamalara göre yapılabilir.)
Mevcut PHP Ortamında Eksik Genişletmeleri Yükleme
pcntl ve posix genişletmelerini yükleme:
centos sisteminde
Eğer PHP yum ile kurulduysa, komut satırında yum install php-process yazarak pcntl ve posix genişletmelerini yükleyebilirsiniz.
Eğer yükleme başarısız olursa ya da PHP kendisi yum ile kurulmadıysa, lütfen ekler - genişletme yükleme belgesindeki yöntem üçe göre kaynak kodu ile derleyerek yükleyin.
debian/ubuntu/mac os sistemlerinde
Lütfen ekler - genişletme yükleme belgesindeki yöntem üçe göre kaynak kodu ile derleyerek yükleyin.
event genişletmesini yükleme:
Daha büyük eşzamanlı bağlantı sayısını destekleyebilmek için event genişletmesini yüklemeniz gerekmekte ve ayrıca Linux çekirdeğini optimize ediniz. Yükleme yöntemleri aşağıdaki gibidir:
centos sisteminde
-
event genişletmesi için gerekli olan libevent-devel paketini yükleyin, komut satırında çalıştırın:
yum install libevent-devel -y # Eğer yükleyemezseniz, aşağıdaki komutu deneyin # yum install libevent2-devel -y -
event genişletmesini yükleyin, komut satırında çalıştırın:
(event genişletmesi PHP>=5.4 gerektirir)pecl install eventDikkat:
Include libevent OpenSSL support [yes] :sorulduğundanoyazarak Enter'a basın, diğerlerini direkt Enter'a basın. -
php --inikomutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:extension=event.so
debian/ubuntu sisteminde yükleme
-
event genişletmesi için gerekli olan libevent-dev paketini yükleyin, komut satırında çalıştırın:
apt-get install libevent-dev -y # Eğer yükleyemezseniz, lütfen aşağıdaki komutu deneyin: # apt-get install libevent2-dev -y -
event genişletmesini yükleyin, komut satırında çalıştırın:
pecl install eventDikkat:
Include libevent OpenSSL support [yes] :sorulduğundanoyazarak Enter'a basın, diğerlerini direkt Enter'a basın. -
php --inikomutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:extension=event.so
mac os sistemi yükleme talimatları
macOS genellikle geliştirme makinesi olarak kullanıldığı için event genişletmesini yüklemeniz gerekmez.
Yeni Sistem Yüklemesi (PHP + Genişletmelerin Yeni Kurulumu)
centos sistemi yükleme talimatları
-
Komut satırında çalıştırın (bu adım PHP-cli ana programını, pcntl, posix, libevent kütüphanelerini ve git programını yüklemeyi içerir):
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y -
event genişletmesini yükleyin, komut satırında çalıştırın:
(Dikkat: event genişletmesi PHP>=5.4 gerektirir)pecl install eventDikkat:
Include libevent OpenSSL support [yes] :sorulduğundanoyazarak Enter'a basın, diğerlerini direkt Enter'a basın. -
php --inikomutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:extension=event.so -
Komut satırında çalıştırın (bu adım GitHub üzerinden Workerman ana programını indirir):
git clone https://github.com/walkor/Workerman -
Başlangıç Rehberi -- Basit Geliştirme Örneği bölümünde giriş dosyasını yazarak çalıştırın.
Ya da resmi siteden paketlenmiş demo dosyasını indirin ve çalıştırın.
debian/ubuntu sistemi yükleme talimatları
-
Komut satırında çalıştırın (bu adım PHP-cli ana programını, libevent kütüphanesini ve git programını yüklemeyi içerir):
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y -
event genişletmesini yükleyin, komut satırında çalıştırın:
(Dikkat: event genişletmesi PHP>=5.4 gerektirir)pecl install eventDikkat:
Include libevent OpenSSL support [yes] :sorulduğundanoyazarak Enter'a basın, diğerlerini direkt Enter'a basın. -
php --inikomutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:extension=event.so -
Komut satırında çalıştırın (bu adım GitHub üzerinden Workerman ana programını indirir):
git clone https://github.com/walkor/Workerman -
Başlangıç Rehberi -- Basit Geliştirme Örneği bölümünde giriş dosyasını yazarak çalıştırın.
Ya da resmi siteden paketlenmiş demo dosyasını indirin ve çalıştırın.
mac os sistemi yükleme talimatları
Yöntem 1: mac sistemi PHP CLI'yi varsayılan olarak içerir, ancak pcntl genişletmesi eksik olabilir.
-
pcntlgenişletmesini kaynak kodu ile derleyerek yüklemek için ekler - genişletme yükleme belgesindeki yöntem üçü referans alın. -
Geliştirme makinesi olarak bu adımı atlayabilirsiniz:
eventgenişletmesini yüklemek için ekler - genişletme yükleme belgesindeki yöntem dördü kullanın. -
Workerman ana programını https://www.workerman.net/download/workermanzip adresinden indirin ya da resmi siteden örnekleri indirerek çalıştırın.
Yöntem 2: brew komutunu kullanarak PHP ve ilgili genişletmeleri yükleyin.
-
Eğer daha önce
brewyüklemediyseniz aşağıdaki komutu kullanarak yükleyin (zaten kuruluysa bu adımı atlayabilirsiniz):/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
Aşağıdaki komutu çalıştırarak
phpyükleyin:brew install php -
Aşağıdaki komutu çalıştırarak
eventgenişletmesini yükleyin:brew install php-event -
Resmi siteden örnekleri indirerek çalıştırın.
Event Genişletmesi Açıklaması
Event genişletmesi zorunlu değildir, ancak eğer iş yükü 1000'den fazla eşzamanlı bağlantıyı desteklemesi gerekiyorsa, Event genişletmesini yüklemeniz önerilir; bu sayede çok sayıda eşzamanlı bağlantı desteklenebilir. Ancak eğer iş yükü eşzamanlı bağlantılar 1000'in altındaysa, bu genişletmeyi yüklemeniz gerekmez.
Yaygın Sorunlar
-
Aşağıdaki hatayı alırsanız:
checking for include/event2/event.h... not found, lütfen önce libevent-dev(el) paketini kaldırıp libevent2-dev(el) yükleyin.
centos sisteminde:yum remove libevent-devel && yum install libevent2-devel
debian/ubuntu sisteminde:apt-get remove libevent-dev && apt-get install libevent2-dev -
Aşağıdaki hatayı alırsanız:
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.
Lütfen event.so ve socket.so'nun yüklenme sırasını değiştirin, yani php.ini dosyasındaextension=socket.soifadesiniextension=event.soifadesinden önce yazın, böylece socket genişletmesi önce yüklenir.