原文 https://vpsineu.com/blog/how-to-build-and-install-php-5-6-9-from-source-on-ubuntu-14-04-vps/

In this tutorial we will show you how to build and install PHP 5.6.9 from source on an Ubuntu 14.04 VPS.

We all know that PHP-5 is by default available in the Ubuntu repositories. But many times there are situations where  for some crazy reason your application is not able to run on that particular version and you must upgrade it.

There are couple of ways to do that, and time time we will show you know to do that by using the PHP source package.


UPDATE THE SYSTEM

First thing to do is to log in to your Ubuntu VPS as ROOT via SSH. Once you are in make sure the Ubuntu 14.04 system is fully up-to-date by running the following commands in your terminal:

apt-get update
apt-get upgrade

INSTALL BUILD DEPENDENCIES

Next, to avoid compilation errors about missing build dependencies install the following packages:

apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libbz2-dev libjpeg-dev \
libfreetype6-dev libpng12-dev libxpm-dev libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev \
libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libmysqlclient-dev libt1-dev libgd2-xpm-dev \
libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev \
libxslt1-dev libmcrypt-dev libdb5.3-dev
 

DOWNLOAD PHP

Now let’s download the latest PHP 5.6.9 archive from some PHP mirror using the commands below:

PHP_VERSION=5.6.9
wget -O /var/tmp/php-${PHP_VERSION}.tar.bz2 \
http://bg2.php.net/get/php-${PHP_VERSION}.tar.bz2/from/this/mirror

Once the download of the archive is done extract the PHP source in the /opt/build directory. Since this directory do not exist we will need to create it manually. Type:

mkdir -p /opt/build

and extract the newly downloaded PHP archive:

tar -xvjpf /var/tmp/php-${PHP_VERSION}.tar.bz2 -C /opt/build

and finally enter the directory:

cd /opt/build/php-${PHP_VERSION}

CONFIGURE PHP SOURCES

The configure options depend on your environment. In my case, I want to run PHP as FastCGI i.e PHP-FPM with many useful extensions enabled. You can run ./configure --help to find all available configure options. My configuration looks like the one below, so if you want to use it just copy + paste on your terminal and press “ENTER“:

./configure \
--enable-fpm \
--with-mcrypt \
--enable-mbstring \
--with-openssl \
--with-mysql \
--with-mysql-sock \
--with-gd \
--with-jpeg-dir=/usr/lib \
--enable-gd-native-ttf \
--with-pdo-mysql \
--with-libxml-dir=/usr/lib \
--with-mysqli=/usr/bin/mysql_config \
--with-curl \
--enable-zip \
--enable-sockets \
--with-zlib \
--enable-exif \
--enable-ftp \
--with-iconv \
--with-gettext \
--enable-gd-native-ttf \
--with-t1lib=/usr \
--with-freetype-dir=/usr \
--prefix=/opt/PHP-5.6 \
--with-config-file-path=/opt/PHP-5.6/etc \
--with-fpm-user=www-data \
--with-fpm-group=www-data

this command will make PHP 5.6.9 installed within the /opt/PHP-5.6 directory.


NOTE

if you encounter an error like

configure: error: freetype.h not found

even-though you installed libfreetype6-dev, then execute the following commands and try the ./configure again:

mkdir /usr/include/freetype2/freetype
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h

COMPILE PHP

Now it’s time to compile PHP. So, run make to build the sources:

make

if the “make” command is not installed you can install it with:

apt-get install make

and run “make” again.

once the compilation is completed, optionally you may want to run make test to test the set-up:

make test

参考: 

INSTALL PHP

And finally, in the test goes well, run make install to install the compiled PHP to /opt/PHP-5.6

make install

That’s it.


VERIFY PHP VERSION

To check the PHP version, run:

/opt/PHP-5.6/bin/php -v

PHP 5.6.9 (cli) (built: Jun 11 2015 09:41:12)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

If you’re one of our Linux VPS Hosting customers we can help you to build and install PHP 5.6.9 from source on your virtual server for you free of charge. Just contact us and some of our experts will complete your request immediately.

【转】How to build and install PHP 5.6.9 from source on Ubuntu 14.04 VPS的更多相关文章

  1. How To Install Tinc and Set Up a Basic VPN on Ubuntu 14.04

    Introduction In this tutorial, we will go over how to use Tinc, an open source Virtual Private Netwo ...

  2. Install Cocos2d-x v3.3 on Ubuntu 14.04 & Ubuntu 14.10(转)

    Install Cocos2d-x v3.3 on Ubuntu 14.04 & Ubuntu 14.10 1 get the source code sudo apt-get install ...

  3. How To Install Apache Kafka on Ubuntu 14.04

    打算学习kafka ,接触一些新的知识.加油!!! 参考:https://www.digitalocean.com/community/tutorials/how-to-install-apache- ...

  4. How To Install and Configure Elasticsearch on Ubuntu 14.04

    Reference: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsear ...

  5. Install eclipse ns3 in ubuntu 14.04

    1. NS3 install 参考NS3 tutorial即可. 2.eclipse 2.1下载 下载地址:http://www.eclipse.org/downloads/              ...

  6. Install Google Pinyin on Ubuntu 14.04

    Install Google Pinyin on Ubuntu 14.04 I've been spending more and more time on Ubuntu and I'm not us ...

  7. Ubuntu 14.04 – How to install xrdp in Ubuntu 14.04

    http://c-nergy.be/blog/?p=5305 Hello World, Ubuntu 14.04 has been released on April 17th 2014 and we ...

  8. 【转】install intel wireless 3165 driver for ubuntu 14.04.3

    [转]install intel wireless 3165 driver for ubuntu 14.04.3 Ubuntu 14.04.3 with 3.19 kernel can’t drive ...

  9. Ubuntu 14.04 install emacs 24.5

    1.前期准备工作 2.安装基础构件工具 3.下载emacs编译需要的依赖库 4.下载emacs24.5编译安装 5.下载并安装我的emacs配置文件 6.配置tmux和zsh 1. 前期准备工作 在阿 ...

随机推荐

  1. php 关联数组

    <?php header("content-type:text/html;charset=utf8");$fruit = array(    'apple'=>&quo ...

  2. JS的一些常见验证代码

    1//檢查空串  2function isEmpty(str){  3 if((str == null)||(str.length == 0)) return (true);  4 else retu ...

  3. jquery.cookie.js 的配置

    一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...

  4. kvstore之mongodb为存储介质

    配置config(连接mongo) mongo define('KVSTORE_STORAGE', 'base_kvstore_mongodb'); define('MONGODB_SERVER_CO ...

  5. 从MySQL全库备份中恢复某个库和某张表【转】

    从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...

  6. jquery删除未来项 jquery on

    $(document).on('click', '.delbtn', function() { if (confirm("确定要删除吗?")) { var adminid=$(th ...

  7. js iframe跨域访问

    1.什么是跨域? 2.前台解决跨域几种方法 2.1 动态创建script 2.2 使用document.domain 2.3使用HTML5新属性postMessage 2.4 利用iframe和loc ...

  8. oracle导入导出数据库

    oracle导出dmp文件: 开始->运行->输入cmd->输入 exp user/password@IP地址:1521/数据库实例 file=文件所在目录 (如:exp user/ ...

  9. JavaScript(5)——DOM

    DOM操作 为了写这一篇随笔真的是费了好多力气,虽然还是写不好.本来是从周一都开始写的,但是周二周三忙着去帮忙招新了,哈哈哈.感觉做自己喜欢的事特别好玩,虽然挺忙的.看着那些小鲜肉,感觉自己真的老了啊 ...

  10. Extjs 树节点操作常用属性

    tree: 树     node:节点 1.全部展开  tree.expandAll(); 2.全部收缩  tree.collapseAll(); 3.得到父节点 node.parentNode 4. ...