Можно ли установить pcntl модуль без перекомпиляции php? Я пытаюсь настроить это на CentOS.
Мне не удалось заставить его работать только через диспетчер пакетов, и yum search pcntl
не находит совпадений даже после настройки дополнительных репозиториев.
В итоге я нашел один способ, который работал без полной переустановки PHP, хотя в конечном итоге он требует крошечный немного перекомпиляции. Сообщение найдено Вот упоминает несколько простой способ компиляции и включения только расширения pcntl (с небольшим редактированием и переформатированием сообщения):
Get your current php version (check phpinfo())
Get the sources for that version here: http://www.php.net/releases/
Extract this file; you will got folder name like php5-x.x.x
Run following lines in terminal:
cd php5-x.x.x/ext/pcntl
phpize
./configure
make
cp modules/pcntl.so /usr/lib/php/modules/
echo "extension=pcntl.so" > /etc/php.d/pcntl.ini
restart apache
Note: if your /usr/lib/php/modules/ or /etc/php.d/ is not same
as this, you could try 'locate php/modules' or 'locate php.d'
Модуль pcntl находится в php-cli
пакет и может быть установлен с помощью yum с помощью следующей команды:
sudo yum install php php-cli
попробуйте найти модуль с помощью команды yum yum search pcntl
Проверьте, включено ли это расширение.
php -m
или
php-fpm -m
Если он не существует, вы должны включить его во время сборки или создать как расширение.
Загрузите репозиторий существующей версии PHP из http://www.php.net/releases/ (Это не имеет значения, где вам нужно скачать и извлечь. Вы можете либо загрузить на локальный компьютер. Просто хотите скопировать ext / pcntl куда-нибудь на сервере)
Извлеките загруженную папку (пример: /home/downloads/PHP_5.x.x/)
cd /home/downloads/PHP_5.x.x/ext/pcntl
phpize
./configure
make
cp modules/pcntl.so /usr/local/lib/php/extensions/
[* Этот путь зависит от вашей установки / конфигурации PHP. Вы можете проверить путь расширения PHP в php.ini или echo phpinfo (); ]
echo "extension=pcntl.so" > /usr/local/lib/php.ini
или добавьте строку «extension = pcntl.so» в свой php.ini
vim /usr/lib/php.ini
[* снова зависит от вашей установки PHP. Вы можете найти путь к php.ini в файле locate php.ini или echo phpinfo (); ]