У меня есть проблема с использованием pcntl
на VM-сервере ubuntu.
У меня есть PHP-скрипт, создающий потоки, чтобы делать повторяющиеся вещи.
У моего сервера есть расширение pcntl для PHP.
с помощью команды php -me
выход этого:
Undefined pcntl_signal_dispatch() с установленным pcntl
календарь
CType
завиток
Дата
дом
фильтр
хэш
Iconv
JSON LibXML
MBstring
MySQL
pcntl
PCRE
ПДО
PDO_MySQL
Pdo_Sqlite
POSIX Отражение
сессия
shmop
SimpleXML
SPL
SQLite
стандарт
токенизатор
XML
XmlReader
XmlWriter
почтовый
Zlib
Я добавил журналы в коде, так что я уверен, что pcntl_fork
, pcntl_wait
и pcntl_wexitstatus
выполняются с помощью сценария.
Но на линии с помощью pcntl_signal_dispatch()
, он упал с ошибкой:
Вызов неопределенной функции pcntl_signal_dispatch()
Любой ключ приветствуется :)
О, бог, действительно, PHP-версия сервера - это 'PHP 5.2.10'. Есть ли способ заставить его работать на более раннем PHP? (другая функция, выполняющая ту же работу, какой-то код для записи ...). Мы не можем обновлять PHP из-за регрессионных рисков ... – Random
Нет, я так не думаю. И вы действительно не должны ... регрессионные риски могли быть оправданием, в то время как PHP 5.2 по-прежнему официально поддерживался, но этого не было в течение более 4 лет. И регрессии можно проверить на ... вы можете подготовиться к этому. – Narf
На самом деле существует 2 решения: использование 'declare (ticks = 1)' сохранение текущей версии PHP (5.2.10) или обновление до PHP 5.3, чтобы использовать 'pcntl_signal_dispatch()' (к сожалению, только клиент может решить, выслушав мое мнение). Благодаря ! – Random