php & imagemagick

RW1R

Новичок
Всем доброго времени суток! Подскажите, кто сталкивался. Есть задача : установить php и parallel (Thread Safety => enabled), это делается только при сборке из исходников. С этим я разобрался, установил, но никак не могу победить установку php и imagemagick как собрать из исходников? OS: Ubuntu Server
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
1. imagemagic нормально собирается из исходников, только либы для разных форматов нужны
2. собирать его нафиг не надо, можно просто доставить dev-пакет и собрать php extension с ним
3. в imagemagic течет память - не потому что он плохой, а потому что там сторонний код для сотни форматов изображений; ты уверен, что тебе нужен именно extension, и ты будешь раз в N вызовов рестартовать php worker?
 

RW1R

Новичок
1. imagemagic нормально собирается из исходников, только либы для разных форматов нужны
2. собирать его нафиг не надо, можно просто доставить dev-пакет и собрать php extension с ним
3. в imagemagic течет память - не потому что он плохой, а потому что там сторонний код для сотни форматов изображений; ты уверен, что тебе нужен именно extension, и ты будешь раз в N вызовов рестартовать php worker?
Я верно понимаю, что imadick достаточно просто скомпилить из исходникоа, php.ini прописать extension=imagick.so?
 

RW1R

Новичок
Я верно понимаю, что imadick достаточно просто скомпилить из исходникоа, php.ini прописать extension=imagick.so?
Также, для того, чтобы апач работал с этим php его нужно скомпилить с опцией apxs, который я могу установить через apt install apxs?
Ещё момент: когда я ставил модуль libapache_mod_php (кажется так называется) у меня в системе появилось 2 php: тот который я установил из исходников и тот который подтянулся после установки этого libapache_mod_php, и апач работал именно с тем php, который установился через модуль, чтобы этого не происходило как раз и нужен apxs?
 

AmdY

Пью пиво
Команда форума
После сборки из исходников imagick появился в списке расширений
у меня в системе появилось 2 php
Вот так вы всё и сломали. Не надо собирать в обход пакетного менеджера и не будет проблем. Ну, разве что сами очень хорошо шарите и понимаете что делаете, хотя вон даже у фейсбука с этим проблемы.

Apache и libapache_mod_php - это рудименты, которые уже более десятилетия как пора выбросить, тем более что вы софт сами устанавливаете, а не пользуетесь шаредом, пользуйтесь nginx + php-fpm
 

RW1R

Новичок
Вот так вы всё и сломали. Не надо собирать в обход пакетного менеджера и не будет проблем. Ну, разве что сами очень хорошо шарите и понимаете что делаете, хотя вон даже у фейсбука с этим проблемы.

Apache и libapache_mod_php - это рудименты, которые уже более десятилетия как пора выбросить, тем более что вы софт сами устанавливаете, а не пользуетесь шаредом, пользуйтесь nginx + php-fpm
по поводу nginx уже не первый раз задумываюсь
 

RW1R

Новичок
по поводу nginx уже не первый раз задумываюсь
Установил апач из исходников, установил php из исходников (вместе с apxs), imagick также собрал из исходников (он появился в списке модулей), далее делаю по инструкции: в httpd.conf -> LoadModule php7_module modules/libphp7.so , но того самого libphp7.so нет. Нагуглил, что мне нужно установить sapi (некий апи для работы апач и php), подскажите, пожалуйста как это сделать либо как мне найти этот самый модуль libphp7.so ?
 

michelle

Новичок
Найди в файловой системе (man find), где у тебя расположен libphp7.so и пропиши его в конфиг апача с полным путем от корня сервера.
Или можешь найти, где находится у тебя каталог modules и сделай симлинк на libphp7.so в каталог modules.

Если собирал из исходников - скорее всего надо искать в районе /usr/local/ и так далее.
 

RW1R

Новичок
Найди в файловой системе (man find), где у тебя расположен libphp7.so и пропиши его в конфиг апача с полным путем от корня сервера.
Или можешь найти, где находится у тебя каталог modules и сделай симлинк на libphp7.so в каталог modules.

Если собирал из исходников - скорее всего надо искать в районе /usr/local/ и так далее.
искал уже - не нашел
 

AmdY

Пью пиво
Команда форума
за минуту гуглится, что libphp7.so, а libphp.so
вам надо бы снести всё и установить нормально из пакетов. вы уже 3 дня убили на 10 минутную задачу, а этот зоопарк ещё надо будет поддерживать.
 

RW1R

Новичок
за минуту гуглится, что libphp7.so, а libphp.so
вам надо бы снести всё и установить нормально из пакетов. вы уже 3 дня убили на 10 минутную задачу, а этот зоопарк ещё надо будет поддерживать.
дело в том, что ни того ни другого в системе нет. Просто скажите как должно быть? после компиляции этот модуль должен появиться? я первый раз подобные вещи делаю, до этого был просто apt install...
 

RW1R

Новичок
Какими командами ты это делал?
Выложи их сюда.
вот так компилил php:

./buildconf --force
./configure \
--prefix=/etc/php/7.4z \
--with-config-file-path=/etc/php/7.4z \
--with-config-file-scan-dir=/etc/php/7.4z/conf.d \
--with-zlib \
--with-zip \
--enable-soap \
--enable-intl \
--with-openssl \
--with-curl \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-pcntl \
--enable-gd \
--enable-exif \
--with-jpeg \
--with-freetype \
--with-xsl \
--with-gettext \
--enable-bcmath \
--enable-mbstring \
--enable-calendar \
--with-tidy \
--enable-maintainer-zts \
--enable-parallel \
--enable-ftp \
--enable-sockets \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-libdir=/lib/x86_64-linux-gnu \
--enable-ftp \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--enable-fpm \
--with-apxs2=/usr/local/apache2/bin/apxs

есть ощущение, что здесь --enable-fpm лишнее))

вот так компилил apache:
./configure --enable-so
 

RW1R

Новичок
Коллеги, всем большое спасибо за помощь! Я победил эту связку apache2 + php + parallel + imagick
 
Сверху