Опубликовано : admin в (PHP, Настройка сервера)
Установка PHP с поддержкой fork()
Теги: directadmin, fork(), pcntl, PHP
У меня возникла необходимость установки php5 на сервер с установленной панелью Directadmin. Причем для работы одного из скриптов ему необходимо чтобы php был скомпилирован с поддержкой pcntl.
Казалось бы никаких проблем. У директадмина есть очень хороший форум. После недолгих поисков была найдена следующая ветка . Но еще нужно разрешить поддержку pcntl.
Редактируем файл
vi /usr/local/directadmin/customapache/configure.php (_ap2 для Apache 2)
и в конец файла добавляем –enable-pcntl
Файл должен выглядеть так:
#!/bin/sh
./configure \
–with-apxs \
–with-curl \
–with-curl-dir=/usr/local/lib \
–with-gd \
–with-gd-dir=/usr/local \
–with-gettext \
–with-jpeg-dir=/usr/local/lib \
–with-kerberos \
–with-mcrypt \
–with-mhash \
–with-mysql=/usr \
–with-pear \
–with-png-dir=/usr/local/lib \
–with-xml \
–with-zlib \
–with-zlib-dir=/usr/local/lib \
–with-zip \
–with-openssl \
–enable-bcmath \
–enable-calendar \
–enable-ftp \
–enable-calendar \
–enable-ftp \
–enable-magic-quotes \
–enable-sockets \
–enable-track-vars \
–enable-mbstring \
–enable-memory-limit \
–enable-pcntl
После чего продолжаем установку по ссылке в форуме.
- Download php to a temporary directory (http://www.php.net/downloads.php)
- cd [the temporary directory]
- tar zxvf php-5.x.x.tar.gz
- cd php-5.x.x
- /usr/local/directadmin/customapache/configure.php
Но тут возникает ошибка.
После выполнения /usr/local/directadmin/customapache/configure.php скрипт выдает ошибку.
pcntl: fork() not supported by this platform
Путем часового копания в google был найден ответ:
cd /usr/local/directadmin/customapache/libmcrypt-2.5.7/libltdl
./configure --enable-ltdl-install
make
make install
То есть libmcrypt которая идет в составе директадмина компилируется без поддержки lltdl. В результате вываливается вышеприведенная ошибка.
Дальше уже все как в форуме:
Для Apache 1.x
/usr/local/directadmin/customapache/configure.php
Для Apache 2.x
/usr/local/directadmin/customapache/configure.php_ap2
#на этот раз он выполняется без ошибок
make
make install
После чего все начинает работать.
