1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/talent518-threadfpm

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

threadfpm

Расширение SAPI для многопоточного FastCGI в PHP, которое имеет преимущества в виде низкой потребности в памяти и стабильной работы, что позволяет избежать ошибки Yöntem 502.

Компиляция

  • Разместите его в директории sapi исходного кода PHP.
  • Выполните команду для перестроения конфигурационного скрипта configure: ./buildconf -f
  • Выполните скрипт компиляции: ./sapi/threadtask/build.sh
  • Запустите: /opt/phpts/sbin/threadfpm -t 128
  • В конфигурационном файле php.ini установите opcache.protect_memory=0, если значение равно 1, это может привести к сегментации памяти, причина: этот параметр является недопустимым для использования в многопоточной среде.
  • Для управления сигналами SIGUSR1 и SIGUSR2 используйте команду: kill -SIGUSR1 pid

Здесь исправлено описание ошибки 502, чтобы она была корректна на русском языке. Остальной текст также был адаптирован к русскому языку согласно правилам перевода.### Описание функций 1. Общие переменные

  • Инициализация общих переменных (может использоваться только в главном потоке): share_var_init($size = 128)
    • $size: int Размер инициализируемых переменных
  • Проверка наличия указанной общей переменной: share_var_exists($key1[, ...])
  • Чтение общей переменной: share_var_get([,$key1, ...])
  • Чтение и удаление общей переменной: share_var_get_and_del([,$key1, ...])
  • Запись общей переменной (не менее одного аргумента, каждый аргумент представляет ключ многомерного массива, последний — массив, который будет объединён со существующим массивом, если он существует, в противном случае заменяет его): share_var_put(...)
  • Увеличение значения общей переменной ($key[, ...] найденного значения: если это массив, то значение $value будет добавлено к нему, если это строка, то $value будет добавлено к концу строки, если это другое числовое значение или булево значение, то они будут суммированы как числа): share_var_inc($key[, ...], $value)
    • Возвращает результат операции
  • Запись общей переменной: share_var_set($key[, ...], $value)
  • Запись временной общей переменной: share_var_set_ex($key[, ...], $value, $expire)
    • $expire: int Время истечения, если равно 0, то никогда не истекает
  • Удаление общей переменной: share_var_del($key1[, ...])
  • Очистка всех общей переменных: share_var_clean()
  • Очистка просроченных общей переменных: share_var_clean_ex($expire)
    • $expire: int Время истечения, должно быть больше 0* Подсчет значений переменных (возвращает: положительное число — количество элементов массива, отрицательное число — длина строки, true — объект, null — если не найдено, false — в остальных случаях): share_var_count([$key1, ...])
  • Освобождение общей переменной (может использоваться только в главном потоке): share_var_destroy()

Описание функций

2. Потокобезопасные общие переменные

  • Объявление потокобезопасной общей переменной: ts_var_declare(string|int|null $varname, ?resource $var = null, bool $is_fd = false): resource|bool
    • $varname: имя переменной, если пустое, то ссылается на $var
    • $var: если пустое, то является корневой переменной
    • $is_fd: если true, то можно использовать функцию ts_var_fd()
  • Экспортирование труб для файлового дескриптора сокета (может использоваться функциями расширения sockets): ts_var_fd(resource $var, bool $is_write = false): socket|bool
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $is_write: указывает, является ли это каналом записи
  • Установка времени истечения для общей переменной: ts_var_expire(resource $var, int $expire)
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $expire: время истечения (timestamp), если равно 0, то никогда не истекает
  • Проверка наличия указанной общей переменной: ts_var_exists(resource $var, string|int $key)
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, может быть строкой или целым числом
  • Сохранение данных в потокобезопасной переменной: ts_var_set(resource $var, string|int|null $key, mixed $val, bool $expire = false): bool * $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, который может быть строкой, целым числом или пустым значением; если пустое, то $val добавляется в конец
    • $val: значение
    • $expire: время истечения (timestamp); если равно 0, то никогда не истекает
  • ts_var_put — псевдоним для ts_var_set
  • Добавление значений в очередь: ts_var_push(resource $var, mixed $val . . . ): bool
    • $val . . . : одновременно могут быть добавлены несколько значений
  • Извлечение последнего значения из очереди (потокобезопасной переменной): ts_var_pop(resource $var, string|long &$key = null)
    • $key: ключ, соответствующий извлекаемому значению
  • Извлечение первого значения из очереди (потокобезопасной переменной): ts_var_shift(resource $var, string|long &$key = null)
    • $key: ключ, соответствующий извлекаемому значению
  • Получение минимального или максимального ключа/значения: ts_var_minmax(resource $var, bool $is_max = false, bool $is_key = false, string|long &$key = null)
    • $key: ключ, соответствующий извлекаемому значению
  • Получение данных из потокобезопасной переменной: ts_var_get(resource $var, string|int|null $key = null, bool $is_del = false): mixed
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, который может быть строкой, целым числом или пустым значением; если пустое, то возвращаются все переменные из $var
    • $is_del: указывает, следует ли удалить эту переменную* Получение данных из потоко-безопасной переменной, если она отсутствует, то получение данных через обратный вызов и установка: ts_var_get_or_set(resource $var, string|int $key, callable $callback, int $expire = 0, mixed $parameters ... ): mixed
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, может быть строкой или целым числом
  • Удаление данных из потоко-безопасной переменной: ts_var_del(resource $var, string|int $key): bool
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, может быть строкой или целым числом
  • Увеличение значения потоко-безопасной переменной и возврат результата: ts_var_inc(resource $var, string|int|null $key, mixed $inc): mixed
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $key: ключ, может быть строкой или целым числом
    • $inc: эквивалентно $var[$key] += $inc
  • Получение количества значений в потоко-безопасной переменной (похоже на функцию count): ts_var_count(resource $var)
    • $var: переменная, возвращаемая функцией ts_var_declare
  • Очистка потоко-безопасной переменной и возврат количества элементов: ts_var_clean(resource $var, int $expire = 0)
    • $var: переменная, возвращаемая функцией ts_var_declare
  • Перестроение индекса потоко-безопасной переменной: ts_var_reindex(resource $var, bool $only_integer_keys = false): bool
    • $var: переменная, возвращаемая функцией ts_var_declare
    • $only_integer_keys: только целочисленные ключи
  • Получение всех ключей потоко-безопасной переменной: ts_var_keys(resource $var): bool|array
  • Получение всех сроков истечения ключей потоко-безопасной переменной: ts_var_expires(resource $var): bool|array

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C и 5 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/talent518-threadfpm.git
git@api.gitlife.ru:oschina-mirror/talent518-threadfpm.git
oschina-mirror
talent518-threadfpm
talent518-threadfpm
main