Назад | Перейти на главную страницу

Установка модуля PCNTL для PHP без перекомпиляции

Можно ли установить 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 (); ]