构建PHP 5.4从源在Debian挤压

在Debian Squeeze上构建PHP 5.4源代码

版本1.0.0
对于ISPConfig:3.0.5.1
作者:MichelKäser<info [at] rackster [dot] ch>

本教程介绍如何在Debian Squeeze上从源代码构建PHP 5.4。 之后,我们将通过PECL安装更多的模块,并将其作为附加的PHP版本添加到ISPConfig的下拉列表中。

最后,您将有一个完全功能的PHP 5.4安装,可以在ISPConfig界面中选择,并且.deb包也可以在其他服务器上使用。

我不会保证这将为您工作!

1要求

要遵循本教程,您将需要以下内容:

  • 一个完美的服务器运行Debian Squeeze
  • 一个ISPConfig(3.0.5或更高版本)安装
  • 约45分钟时间仔细阅读

2初步注释

我强烈建议在单独的服务器上编译软件包,因为它需要大量的软件包才能安装,我们不需要其他软件包。 如果您没有多台服务器,那么在几个小时/天的时间内,可能会出租一个便宜的VPS。

我们将要使用的配置命令/参数尽可能接近用于构建常规Debian PHP软件包的配置命令/参数,这些可从官方存储库获取。

最后但并非最不重要的是,大多数这些信息可以在“ ISPConfig手册”中找到 - 你知道我想告诉你什么,不是吗? ;)

3先决条件

(在单独的服务器上)

在我们开始构建过程之前,您应该安装一些其他软件包。 其中一些只是因为我更喜欢他们(如纳米 ):

apt-get -y install nano build-essential checkinstall zip

checkinstall将帮助我们创建.deb包。 如果您想了解更多信息,请查看来自“ 信用”部分的来源。

4下载PHP

(在单独的服务器上)

在我们开始下载和编译我们的自定义PHP版本之前,我们将创建一些目录:

mkdir -p /opt/php/5.4.12
mkdir /usr/local/src/php5-build

并尽快完成下载PHP源码:

cd /usr/local/src/php5-build
wget http://ch1.php.net/distributions/php-5.4.12.tar.gz
tar -xzvf php-5.4.12.tar.gz
cd php-5.4.12/

由于我们需要获取PHP的依赖关系,请确保您的/etc/apt/sources.list中有一个deb-src行:

nano /etc/apt/sources.list
deb-src http://ftp.debian.org/debian squeeze main contrib non-free

并更新包缓存:

apt-get update

5构建PHP

(在单独的服务器上)

按照上述步骤,我们准备好系统准备好编译。 现在,首先,我们必须获取/安装依赖项:

apt-get build-dep php5

并安装少数其他包:

apt-get -y install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev

最后,我们准备好构建PHP 。 像往常一样,第一步是启动configure命令。 要获取所有可用选项的列表,请使用./configure --help

./configure \
--prefix=/opt/php/5.4.12 \
--with-zlib-dir \
--with-freetype-dir \
--enable-cgi \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-libdir=lib64 \
--with-libxml-dir=/usr \
--enable-exif \
--enable-dba \
--with-gettext \
--enable-shmop \
--enable-sysvmsg \
--enable-wddx \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--enable-bcmath \
--enable-ftp \
--enable-intl \
--with-pspell

如果一切顺利,您没有收到任何错误信息,请继续执行:

make

实际编译。

6创建包

(在单独的服务器上)

通常,我们现在将使用make install在系统上安装编译的源代码。 然而,由于我们想要一个.deb文件,我们使用工具checkinstall

checkinstall -D make install

一开始它会要求您创建文档 - >选择是(y)并输入您的包的简短摘要,例如

PHP 5.4.12从Debian Squeeze(6.0.7)amd64架构源码编译

以下屏幕允许您操纵很多其他值。 我建议至少改变:

0:例如Rackster Internet Services <admin@rackster-server.ch>
2:php-5.4.12
11:php-5.4.12

完成后按回车。 然后checkinstall将为您生成包。

然而,生成的包缺少.ini文件,因此我们创建一个.zip存档:

zip /root/php-5.4.12.zip *.deb *.ini-*

完成 大!

7安装包装

一切到这里完成(或应该已经完成​​)在它自己的服务器上。 这部分发生在您的ISPConfig系统上。 确保您已经将所生成的.zip文件转移/复制到这里。

解压缩档案:

unzip php-5.4.12.zip

安装包:

dpkg -i php-*.deb

并复制.ini文件:

cp *.ini-* /opt/php/5.4.12/lib
cp /opt/php/5.4.12/lib/php.ini-production /opt/php/5.4.12/lib/php.ini

8添加其他模块

除了通过您选择的包管理器安装的PHP版本之外,我们的自定义构建将无法使用通过eg apt安装的模块 - 但是有一个简单的选择。

PEARPECL就像PHP的软件包管理器一样安装它们:

apt-get -y install php-pear

并更改目录:

cd /opt/php/5.4.12/etc

8.1安装APC

pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install apc

接受默认值。 完成后,我们只需将其添加到我们的php.ini

nano /opt/php/5.4.12/lib/php.ini
extension=apc.so

8.2安装uploadprogress

pecl -C ./pear.conf install uploadprogress

接受默认值。 完成后,我们只需将其添加到我们的php.ini

nano /opt/php/5.4.12/lib/php.ini
extension=uploadprogress.so

9将PHP添加到ISPConfig

在ISPConfig 3.0.5中,您可以在“ 系统”>“其他PHP版本”下配置新的PHP版本 。 在“名称”选项卡上,您只需填写一个PHP版本的名称(例如5.4.12) - 这个PHP版本将在ISPConfig的网站设置中以此名称列出:

Server: Select the server where the PHP version is installed.
Client: If this PHP version should be available for just for one specific client, select that client here.
Otherwise, this PHP version will be available for all clients.
PHP Name: 5.4.12

转到FastCGI设置选项卡,并填写以下字段:

Path to the PHP FastCGI binary: /opt/php/5.4.12/bin/php-cgi
Path to the php.ini directory: /opt/php/5.4.12/lib

10链接/积分

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏