从源代码编译PHP 7

时间:2015-08-12 16:45:25

标签: php ubuntu compilation

我正在尝试从源代码编译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。同样'成功'。

P.S。我试图在其中一个默认库或/ usr / local / bin中复制xml2-config,并且xml错误不再发生,但后来我再次陷入libjpeg.h ......

1 个答案:

答案 0 :(得分:0)

对于我自己我做了sudo apt-get install libjpeg-dev libjpeg-turbo8-dev libjpeg-progs然后它已经在Ubuntu 14.04上工作。

我在我的两台计算机上完成了这两项工作!

: - )