繁体   English   中英

从源代码编译PHP 7

[英]Compile PHP 7 from source

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

PS我尝试将xml2-config复制到默认库或/ usr / local / bin之一中,并且不再发生xml错误,但是后来我又被libjpeg.h困住了。

对于我自己,我已经完成了sudo apt-get install libjpeg-dev libjpeg-turbo8-dev libjpeg-progs ,然后在Ubuntu 14.04上运行了。

我是在两台计算机上完成的,都可以!

:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM