Ubuntu — скомпилировать PHP 7 из исходного кода

Я пытаюсь скомпилировать PHP7 из исходного кода. Кроме того, все остальные библиотеки, от которых зависит PHP, собраны из исходного кода и расположены в пользовательском каталоге. (Важно не советовать скачивать пакеты разработки !!!) Я использую Ubunti 14.04.

Так что в основном конфигурация проста

sudo ldconfig $HOME/programs/pcre/lib \
$HOME/programs/zlib/lib \
$HOME/programs/bzip2/lib \
$HOME/programs/libpng/lib \
$HOME/programs/libjpeg/lib \
$HOME/programs/libmcrypt/lib \
$HOME/programs/mhash/lib \
$HOME/programs/libxslt/lib \
$HOME/programs/libxml2/lib \
$HOME/programs/gettext/lib \
$HOME/programs/zlib/lib \
$HOME/programs/iconv/lib \
$HOME/programs/postgresql/lib \
$HOME/programs/curl/lib \
$HOME/programs/zlib/lib


CPPFLAGS="-I$HOME/programs/zlib/include \
-I$HOME/programs/bzip2/include \
-I$HOME/programs/libpng/include \
-I$HOME/programs/libjpeg/include \
-I$HOME/programs/libmcrypt/include \
-I$HOME/programs/mhash/include \
-I$HOME/programs/libxslt/include \
-I$HOME/programs/libxml2/include \
-I$HOME/programs/gettext/include \
-I$HOME/programs/zlib/include \
-I$HOME/programs/iconv/include \
-I$HOME/programs/postgresql/include \
-I$HOME/programs/curl/include \
-I$HOME/programs/zlib/include"
./configure --prefix=$HOME/programs/php \
--enable-fpm \
--with-fpm-user=fpmu \
--with-fpm-group=fpmg \
--with-libxml-dir=shared,$HOME/programs/libxml2 \
--with-pcre-regex=$HOME/programs/pcre \
--with-zlib=$HOME/programs/zlib \
--with-config-file-path=$HOME/programs/php/config \
--with-openssl=$HOME/programs/openssl \
--enable-bcmath \
--with-bz2=$HOME/programs/bzip2 \
--enable-calendar \
--enable-exif \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-png-dir=$HOME/programs/libpng \
--with-jpeg-dir=shared,$HOME/programs/libjpeg \
--with-mcrypt=shared,$HOME/programs/libmcrypt \
--with-mhash=shared,$HOME/programs/mhash \
--with-xsl=shared,$HOME/programs/libxslt \
--with-sqlite3=no \
--with-pdo-sqlite=no \
--with-gettext=shared,$HOME/programs/gettext \
--with-iconv-dir=shared,$HOME/programs/iconv \
--with-pgsql=shared,$HOME/programs/postgresql \
--with-pdo-pgsql=$HOME/programs/postgresql/bin \
--with-curl=$HOME/programs/curl \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--enable-opcache-file \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--enable-zip \
--enable-phar \
--enable-re2c-cgoto \
--enable-pcntl \
--enable-shmop

Когда я запускал команду config, первой ошибкой было то, что xml2-config файл не был найден (но он был на своем месте, здоровый и улыбающийся мне). Я пробовал внушительное разнообразие комбинаций, но ошибка не исчезла. Наконец я отключил libxml. Но затем произошла другая ошибка. jpeglib.h не найден. В общем, я думаю, что компилятор не получает правильные библиотеки и заголовки, которые я предоставляю.

Я буду благодарен кому-то, чтобы объяснить, почему это происходит и как решить проблему. Также я пытался собрать PHP5.6.12. Тот же «успех».

Постскриптум Я попытался скопировать xml2-config в одну из библиотек по умолчанию или / usr / local / bin, и ошибка xml больше не возникала, но затем я снова застреваю с libjpeg.h ….

2

Решение

для себя я сделал sudo apt-get install libjpeg-dev libjpeg-turbo8-dev libjpeg-progs а потом он работал на Ubuntu 14.04.

Я сделал это на двух моих компьютерах, и оба работают!

🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]