Инструкция по установке

Localzet Server фактически представляет собой пакет PHP-кода. Если у вас уже установлена среда PHP, вам нужно просто загрузить исходный код Localzet Server или демонстрационные примеры для запуска.

Установка через Composer:

composer require localzet/server

Проверка среды Linux

Система Linux может использовать следующий скрипт для проверки соответствия локальной среды PHP требованиям Localzet Server.

curl -Ss https://cloud.zorin.space/localzet-check | php

Если в скрипте все обязательные расширения отмечены "[OK]", это значит, что требования для запуска Localzet Server выполняются.

Установка для уже существующего PHP

Установка расширений pcntl и posix:

Система CentOS

Если PHP установлен с помощью yum, выполните в терминале следующую команду, чтобы установить расширения pcntl и posix:

yum install php-process

Если установка не удалась или PHP был установлен иным способом, обратитесь к разделу "Установка расширений" в Приложениях для инструкций по сборке из исходного кода.

Системы Debian/Ubuntu/Mac OS

Если PHP установлен с помощью apt, выполните в терминале следующую команду, чтобы установить расширения pcntl и posix:

apt install php-pcntl php-posix

Если установка не удалась или PHP был установлен иным способом, обратитесь к разделу "Установка расширений" в Приложениях для инструкций по сборке из исходного кода.

Установка расширения event:

Чтобы поддерживать большее количество одновременных соединений, необходимо установить расширение event и выполнить оптимизацию ядра Linux. Для установки выполните следующие шаги:

Система CentOS

  1. Установите пакет libevent-devel, требуемый для установки расширения event, выполните в терминале:
yum install libevent-devel -y
# Если установка невозможна, попробуйте выполнить следующую команду:
# yum install libevent2-devel -y
  1. Установите расширение event, выполните в терминале:
pecl install event

Обратите внимание на запрос: Include libevent OpenSSL support [yes] :. Введите no и нажмите Enter, остальные запросы можно пропустить.

  1. Запустите команду 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
  1. Установите расширение event, выполните в терминале:
pecl install event

Обратите внимание на запрос: Include libevent OpenSSL support [yes] :. Введите no и нажмите Enter, остальные запросы можно пропустить.

  1. Запустите команду php --ini, найдите и откройте файл php.ini, и вставьте следующую конфигурацию в конец файла:
extension=event.so

Инструкция по установке на системе Mac OS

Mac OS обычно используется в качестве платформы для разработки и расширение event не требуется.

Установка на новой системе (установка PHP + расширения)

Инструкция по установке на системе CentOS

  1. Выполните следующую команду в терминале (это установит программы PHP, pcntl, posix, библиотеку libevent и программу git):
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
  1. Установите расширение event, выполните в терминале:
pecl install event

Обратите внимание на запрос: Include libevent OpenSSL support [yes] :. Введите no и нажмите Enter, остальные запросы можно пропустить.

  1. Запустите команду php --ini, найдите и откройте файл php.ini, и вставьте следующую конфигурацию в конец файла:
extension=event.so
  1. В терминале выполните следующую команду (это загрузит основную программу Localzet Server из GitHub):
git clone https://github.com/localzet/Server
  1. Следуйте инструкциям в разделе "Примеры использования" для создания входного файла и запуска его.

Инструкция по установке на системе Debian/Ubuntu

  1. В терминале выполните следующую команду (это установит программы PHP, libevent и программу git):
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
  1. Установите расширение event, выполните в терминале:
pecl install event

Обратите внимание на запрос: Include libevent OpenSSL support [yes] :. Введите no и нажмите Enter, остальные запросы можно пропустить.

  1. Запустите команду php --ini, найдите и откройте файл php.ini, и вставьте следующую конфигурацию в конец файла:
extension=event.so
  1. В терминале выполните следующую команду (это загрузит основную программу Localzet Server из GitHub):
git clone https://github.com/localzet/Server
  1. Следуйте инструкциям в разделе "Примеры использования" для создания входного файла и запуска его.

Инструкция по установке на системе Mac OS

Метод 1: Mac OS уже поставляется с PHP CLI, но возможно недостает расширения pcntl.

  1. Следуйте инструкциям в разделе "Установка расширения" в Приложениях для установки расширения pcntl.

  2. Следуйте инструкциям в разделе "Установка расширения" в Приложениях для установки расширения event (для среды разработки этот шаг можно опустить).

  3. Загрузите Localzet Server из GitHub и запустите его.

Метод 2: Установка PHP с соответствующими расширениями с помощью команды brew

  1. В терминале выполните следующую команду для установки утилиты brew (если у вас уже установлен brew, этот шаг можно пропустить):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. В терминале выполните следующую команду для установки php:
brew install php
  1. В терминале выполните следующую команду для установки расширения event:
brew install php-event
  1. Загрузите Localzet Server из GitHub и запустите его.

Объяснение о расширении Event

Расширение Event не обязательно, но если для бизнеса необходима поддержка более 1000 одновременных соединений, рекомендуется установить Event, так как оно позволяет поддерживать огромное количество одновременных соединений. Если бизнесу требуется менее 1000 одновременных соединений, например, менее 1000 одновременных соединений, то установка не требуется.

Часто задаваемые вопросы

  1. Если возникает ошибка checking for include/event2/event.h... not found, попробуйте сначала удалить пакет libevent-devel и установить libevent2-devel:
  • Для системы CentOS:
yum remove libevent-devel && yum install libevent2-devel
  • Для систем Debian / Ubuntu:
apt-get remove libevent-dev && apt-get install libevent2-dev
  1. Если возникает ошибка 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, то есть добавьте extension=socket.so перед extension=event.so в файле php.ini, чтобы сначала загрузилось расширение socket.