Welcome! Log In Create A New Profile

Advanced

И снова php-fpm под FreeBSD.

Posted by nagual 
nagual
И снова php-fpm под FreeBSD.
October 29, 2009 10:58AM
Начнем сразу со второг способа потому что он работает хоть как то.
Делаем так:


PHP_VER="5.2.11"
tar xyf php-${PHP_VER}.tar.gz
tar xyf php-fpm-0.6-${PHP_VER}.tar.gz
ln -s php-5* php
ln -s php-fpm-* php-fpm
mkdir -p php/php-build
mkdir -p php/fpm-build
mkdir -p phpp-fpm/fpm-build

Зачем понадобились эти дополнительные подкаталоги для билдов
загадка ...

cd php
make -s clean
CC="gcc" \
OPTIM="-O3 -pipe -fno-exceptions -ffast-math" \
CFLAGS="-O3 -msse3 -mtune=prescott -funroll-loops -mfpmath=sse -fomit-
frame-pointer" \
INCLUDES="-I/usr/local/include" \
../configure \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-discard-path \
--with-mysql=/usr/local \
--without-xmlrpc \
--disable-debug \
--enable-session \
--without-ming \
--with-zlib \
--enable-inline-optimization \
--enable-exif \
--enable-static \
--enable-bcmath \
--with-gnu-ld \
--enable-zend-multibyte \
--enable-mbstring \
--with-mcrypt=/usr/local/lib \
--enable-fpm \
--disable-ipv6 \
--with-gd \
--with-jpeg-dir=/usr/local \
--with-freetype-dir=/usr/local \
--with-curl=/usr/local \
--with-openssl=/usr \
--with-mysql=/usr/local/lib/mysql \
--with-mysqli=/usr/local/bin/mysql_config

Хочу обратить внимание на отсутствие опций --disable-all и --enable-
libxml ...

make -s -j8 && make -s install
Тут все работает ...
Дальше

cd php-fpm
gmake -s clean

тут штатный make неработает и нужен gmake что есть неправильно ...

CC="gcc" \
OPTIM="-O3 -pipe -fno-exceptions -ffast-math" \
CFLAGS="-O3 -msse3 -mtune=athlon64 -funroll-loops -mfpmath=sse -fomit-
frame-pointer" \
INCLUDES="-I/usr/local/include" \
../configure \
--disable-all \
--with-libevent=/usr/local \
--with-php-src="../php" \
--with-php-build="../php"

gmake

Все заканчивается вот так

libxml2.so -lz /usr/local/lib/libiconv.so -lm -lcrypt -Wl,--rpath -Wl,/
usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
/usr/bin/ld: cannot find -lmysqlclient
gmake[2]: *** [php_fpm] Error 1
gmake[2]: Leaving directory `php-fpm-0.6-5.2.11'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `php-fpm-0.6-5.2.11'
gmake: *** [all] Error 2

Тоесть мы ненашли мускуль, который лежит /usr/local/lib/mysql ...
Во всех трех Makefile есть :
-L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -lcrypt -
lcrypt -lmysqlclient
тоесть -L/usr/local/lib дважды

Если исправить -L/usr/local/lib на -L/usr/local/lib/mysql то все
соберется.

В принципе можно сделать патч на три Makefile но это как то
неправильно. Как правильно исправить скрипт конфигурирования ?

С уважением Max ICQ71006063
nagual
Re: И снова php-fpm под FreeBSD.
October 29, 2009 11:44AM
Если делать первый способ то добавляется
php-fpm-0.6-${PHP_VER}/generate-fpm-patch
cd php && patch -p1 < ../fpm.patch
cd php && ./buildconf --force

После чего можно

cd php
make -s clean


CC="gcc" \
OPTIM="-O3 -pipe -fno-exceptions -ffast-math" \
CFLAGS="-O3 -msse3 -mtune=prescott -funroll-loops -mfpmath=sse -fomit-
frame-pointer" \
INCLUDES="-I/usr/local/include" \
../configure \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-discard-path \
--with-mysql=/usr/local \
--without-xmlrpc \
--disable-debug \
--enable-session \
--without-ming \
--with-zlib \
--enable-inline-optimization \
--enable-exif \
--enable-static \
--enable-bcmath \
--with-gnu-ld \
--enable-zend-multibyte \
--enable-mbstring \
--with-mcrypt=/usr/local/lib \
--disable-ipv6 \
--with-gd \
--with-jpeg-dir=/usr/local \
--with-freetype-dir=/usr/local \
--with-curl=/usr/local \
--with-openssl=/usr \
--with-mysql=/usr/local/lib/mysql \
--with-mysqli=/usr/local/bin/mysql_config \
--enable-libxml \
--with-fpm \
--with-libevent=/usr/local \
--with-fpm-bin=/usr/local/bin/php-fpm

Мне ненравится появление предупреждения If configure fails try --with-
xpm-dir=<DIR> на этапе конфигурации ...
make неработает ... компилим
gmake -s && gmake -s install

Если собирать php в поддирректории php/php-build а не php то при
сборке он на отсутствие библиотек mysql не ругается но потом они
просто не работают ...

С уважением Max ICQ71006063

On 29 окт, 16:49, nagual <victori...@gmail.com> wrote:
> Начнем сразу со второг способа потому что он работает хоть как то.
> Делаем так:
>
> PHP_VER="5.2.11"
>  tar xyf php-${PHP_VER}.tar.gz
>  tar xyf php-fpm-0.6-${PHP_VER}.tar.gz
> ln -s php-5* php
> ln -s php-fpm-* php-fpm
> mkdir -p  php/php-build
> mkdir -p  php/fpm-build
> mkdir -p  phpp-fpm/fpm-build
>
> Зачем понадобились эти дополнительные подкаталоги для билдов
> загадка ...
>
> cd php
> make -s clean
> CC="gcc" \
> OPTIM="-O3 -pipe  -fno-exceptions -ffast-math" \
> CFLAGS="-O3 -msse3 -mtune=prescott -funroll-loops -mfpmath=sse -fomit-
> frame-pointer" \
> INCLUDES="-I/usr/local/include" \
> ./configure \
>  --enable-fastcgi \
>  --enable-force-cgi-redirect \
>  --enable-discard-path \
>  --with-mysql=/usr/local \
>  --without-xmlrpc \
>  --disable-debug \
>  --enable-session \
>  --without-ming \
>  --with-zlib \
>  --enable-inline-optimization \
>  --enable-exif \
>  --enable-static \
>  --enable-bcmath \
>  --with-gnu-ld \
>  --enable-zend-multibyte \
>  --enable-mbstring \
>  --with-mcrypt=/usr/local/lib \
>  --enable-fpm \
>  --disable-ipv6 \
>  --with-gd \
>  --with-jpeg-dir=/usr/local \
>  --with-freetype-dir=/usr/local \
>  --with-curl=/usr/local \
>  --with-openssl=/usr \
>  --with-mysql=/usr/local/lib/mysql \
>  --with-mysqli=/usr/local/bin/mysql_config
>
> Хочу обратить внимание на отсутствие опций --disable-all и --enable-
> libxml ...
>
> make -s -j8 && make -s install
> Тут все работает ...
> Дальше
>
> cd php-fpm
> gmake -s clean
>
> тут штатный make неработает и нужен gmake что есть неправильно ...
>
> CC="gcc" \
> OPTIM="-O3 -pipe  -fno-exceptions -ffast-math" \
> CFLAGS="-O3 -msse3 -mtune=athlon64 -funroll-loops -mfpmath=sse -fomit-
> frame-pointer" \
> INCLUDES="-I/usr/local/include" \
> ./configure \
>  --disable-all \
>  --with-libevent=/usr/local \
>  --with-php-src="../php" \
>  --with-php-build="../php"
>
> gmake
>
> Все заканчивается вот так
>
> libxml2.so -lz /usr/local/lib/libiconv.so -lm -lcrypt -Wl,--rpath -Wl,/
> usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
> /usr/bin/ld: cannot find -lmysqlclient
> gmake[2]: *** [php_fpm] Error 1
> gmake[2]: Leaving directory `php-fpm-0.6-5.2.11'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `php-fpm-0.6-5.2.11'
> gmake: *** [all] Error 2
>
> Тоесть мы ненашли мускуль, который лежит /usr/local/lib/mysql ...
> Во всех трех Makefile есть :
> -L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -lcrypt -
> lcrypt -lmysqlclient
> тоесть  -L/usr/local/lib дважды
>
> Если исправить -L/usr/local/lib на -L/usr/local/lib/mysql то все
> соберется.
>
> В принципе можно сделать патч на три Makefile но это как то
> неправильно. Как правильно исправить скрипт конфигурирования ?
>
> С уважением Max ICQ71006063
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 76
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready