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 kullanarak composer config -g --unset repos.packagist proxy'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

  1. 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
  2. event genişletmesini yükleyin, komut satırında çalıştırın:
    (event genişletmesi PHP>=5.4 gerektirir)

    pecl install event

    Dikkat: Include libevent OpenSSL support [yes] : sorulduğunda no yazarak Enter'a basın, diğerlerini direkt Enter'a basın.

  3. php --ini komutunu ç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

  1. 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
  2. event genişletmesini yükleyin, komut satırında çalıştırın:

    pecl install event

    Dikkat: Include libevent OpenSSL support [yes] : sorulduğunda no yazarak Enter'a basın, diğerlerini direkt Enter'a basın.

  3. php --ini komutunu ç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ı

  1. 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
  2. event genişletmesini yükleyin, komut satırında çalıştırın:
    (Dikkat: event genişletmesi PHP>=5.4 gerektirir)

    pecl install event

    Dikkat: Include libevent OpenSSL support [yes] : sorulduğunda no yazarak Enter'a basın, diğerlerini direkt Enter'a basın.

  3. php --ini komutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:

    extension=event.so
  4. 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
  5. 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ı

  1. 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
  2. event genişletmesini yükleyin, komut satırında çalıştırın:
    (Dikkat: event genişletmesi PHP>=5.4 gerektirir)

    pecl install event

    Dikkat: Include libevent OpenSSL support [yes] : sorulduğunda no yazarak Enter'a basın, diğerlerini direkt Enter'a basın.

  3. php --ini komutunu çalıştırarak php.ini dosyasını bulun ve açın, en alta aşağıdaki konfigürasyonu ekleyin:

    extension=event.so
  4. 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
  5. 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.

  1. pcntl genişletmesini kaynak kodu ile derleyerek yüklemek için ekler - genişletme yükleme belgesindeki yöntem üçü referans alın.

  2. Geliştirme makinesi olarak bu adımı atlayabilirsiniz: event genişletmesini yüklemek için ekler - genişletme yükleme belgesindeki yöntem dördü kullanın.

  3. 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.

  1. Eğer daha önce brew yü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)"
  2. Aşağıdaki komutu çalıştırarak php yükleyin:

    brew install php
  3. Aşağıdaki komutu çalıştırarak event genişletmesini yükleyin:

    brew install php-event    
  4. 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

  1. 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

  2. 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ında extension=socket.so ifadesini extension=event.so ifadesinden önce yazın, böylece socket genişletmesi önce yüklenir.