PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools[7] — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык[8] общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов[9].
Установить php в Ubuntu можно через apt-get install php, но более новую версию можно установить только из исходников. На данный момент это версия 5.6.10.Скачиваем ее.
wget http://ar2.php.net/get/php-5.6.9.tar.gz/from/this/mirror
Это основной пакет, так же для php необходимы дополнительные расширения. Сейчас мы их скачаем и установим.
- Архиваторы
 
— BZIP2
                    wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
                    tar zxvf bzip2-1.0.6.tar.gz
                    cd  bzip2-1.0.6 
                    make -f Makefile
При компиляции PHP и bzip2 в 64 битной системе, возможно возникнет ошибка: /usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text' ca n not be used when making a shared object; recompile with -fPIC /usr/local/lib/libbz2.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [libtokyocabinet.so.9.8.0] Error 1 Особо не пугайтесь, идете опять в папку bzip2-1.0.6 и редактируете Makefile добавив -fpic -fPIC.
Добавить нужно в строке: CFLAGS=-Wall -Winline -O2 -g$(BIGFILES) -CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g$(BIGFILES)make -f Makefilemake clean
И заново make install
make install
                    Параметр для установки: --with-bz2[=DIR] .
— ZLIB
                 wget http://zlib.net/zlib-1.2.8.tar.gz
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
                 ./configure --prefix=/usr/local
                 make
                 make install
Параметры установки: --enable-zip --with-zlib[=DIR]
- Криптографические расширения
 
— Mcrypt
                    http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
                     tar zxvf mcrypt-2.6.8.tar.gz
                     cd mcrypt-2.6.8
                     ./configure --prefix=/usr/local
                     Во время установки выскочит сообщение: "libmcrypt was not found": apt-get install libmcrypt-dev libmhash-dev
                     make
                     make install
                     Параметры установки: --with-mcrypt[=DIR]
— Openssl
                   wget http://www.openssl.org/source/openssl-1.0.2c.tar.gz
                   tar zxvf openssl-1.0.2c.tar.gz
                   cd openssl-1.0.2c
При установке на x64 платформу выскакивает ошибка: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
Решение:
nano Makefile
добавляем
CFLAGS=-fPIC .....и.т.д
Если программу уже ставили, то сначала
make clean
make -f Makefile
                   make
                   make install
                 Параметры установки: --with-openssl[=DIR]
- Расширения для работы с датой и временем
 
— Календарь
            Просто включить в установку --enable-calendar .
- 
Поддержка языков и кодировок
 
— Gettex
             wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.4.tar.gz
             tar zxvf gettext-0.19.4.tar.gz
             cd gettext-0.19.4
             ./configure --prefix=/usr/local
             make
            make install
            Параметры установки: --with-gettext[=DIR]
- 
Обработка изображений и GD
 
— GD
— Установка поддержки jpeg
Качаем
             wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz
Распаковываем
             tar zxvf jpegsrc.v9a.tar.gz
             cd jpeg-9a
             ./configure --prefix=/usr/local --enable-shared
            make 
            make install
            Параметр установки --with-jpeg-dir=DIR
— Установка png
Качаем
         http://prdownloads.sourceforge.net/libpng/libpng-1.6.17.tar.gz?download
Распаковываем
         tar zxvf libpng-1.6.17.tar.gz
         cd libpng-1.6.17
         ./configure --prefix=/usr/local
         make
         make install
          Параметр установки --with-png-dir=DIR
— Устанавливаем libvpx
Для установки необходимо установить дополнительные пакеты
         - устанавливаем yasm
Качаем
            wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
Распаковываем
            tar zxvf  yasm-1.2.0.tar.gz
            cd yasm-1.2.0
            ./configure
            make
            make install
— устанавливаем which
Качаем
                  wget http://ftp.gnu.org/gnu/which/which-2.21.tar.gz
Распаковываем
                  tar zxvf which-2.21.tar.gz
                  cd which-2.21
                  ./configure 
                  make
                  make install
— Теперь установим VPX
Качаем
                 wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.4.0.tar.bz2
Распаковываем
                 tar xvjf libvpx-1.4.0.tar.bz2
                 cd libvpx-1.4.0
                 sed -e 's/cp -p/cp/' \
                    -i build/make/Makefile &&
                     chmod -v 644 vpx/*.h &&
./configure --prefix=/usr \
--enable-shared \
--disable-static
make
make install
Параметр установки для GD —with-vpx
-установка libxpm
              wget ftp://metalab.unc.edu/pub/Linux/libs/X/libXpm-4.7.tar.gz
              tar zxvf    libXpm-4.7.tar.gz
              cd xpm-3.4g
              apt-get install xutils-dev libx11-dev libxt-dev libxtst-dev libxpm-dev
xmkmf
make Makefiles
              make
              make install 
             установка происходит в /usr/lib
— Далее поставим freetype2
             http://sourceforge.net/projects/freetype/files/freetype2/2.6/freetype-2.6.tar.gz/download       
Распакуем
            tar zxvf freetype-2.6.tar.gz
            cd freetype-2.6
            ./configure 
            make
           make install
           Параметр установки для GD --with-freetype-dir=DIR /usr/bin
-fontconfig
          wget http://fontconfig.org/release/fontconfig-2.8.0.tar.gz
          tar zxvf fontconfig-2.8.0.tar.gz
          cd fontconfig-2.8.0
    apt-get install pkg-config libtiff5-dev libxml2-dev
          ./configure
          make
          make install
— Далее поставим t1lib
         Качаем
         wget ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.1.2.tar.gz
Распаковываем
         tar zxvf  t1lib-5.1.2.tar.gz
         cd t1lib-5.1.2
         apt-get install libxaw7-dev
         ./configure 
         make without_doc
         make install  
         Параметр установки для GD --with-t1lib[=DIR]
Теперь установим GD
Качаем
wget https://github.com/libgd/libgd/archive/gd-2.1.1.tar.gz
Распаковываем
tar zxvf gd-2.1.1.tar.gz
cd libgd-gd-2.1.1
apt-get install manpages-posix-dev clang-3.3
Бывает выскакивает вот такое сообщение cmake could not find freetype (missing freetype_include_dirs) Решение заходим в свою папку с Например у меня libgd-gd-2.1.1/cmake/modules/FindFreetype.cmake находим строчку FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h и меняем ее на FREETYPE_INCLUDE_DIR_freetype2 freetype2/config/ftheader.h 
cmake -DENABLE_PNG=1 -DENABLE_JPEG=1 -DENABLE_TIFF=1 -DENABLE_FREETYPE=1 -DENABLE_FONTCONFIG=1 -DENABLE_XPM=1
make
make install
-curl
wget http://curl.haxx.se/download/curl-7.43.0.tar.gz
tar zxvf curl-7.43.0.tar.gz
cd curl-7.43.0
./configure --prefix=/usr/local
make 
make install
Установка php
apt-get install lcov libxml2-dev libmysqlclient-dev libstdc++5
sudo apt-get install clibcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev
Устанавливаем
./configure --with-apxs2=/etc/http/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/bin/mysql_config --with-bz2=/usr/local --enable-gcov  --enable-zip --with-zlib=/usr/local --with-mcrypt=/usr/local --enable-mbstring --with-openssl=/usr/local/ssl --enable-calendar --with-gettext=/usr/local --with-jpeg-dir --with-png-dir --with-freetype-dir --with-t1lib=/usr/local  --with-gd --with-curl=/usr/local --enable-shared --enable-static --with-xpm-dir=/usr/local
make
make install
Настройка
копируем конфигурационный файл
cp php.ini-development /usr/local/lib/php.ini
Далее нам его необходимо открыть
nano /usr/local/lib/php.ini
найти строку date.timezone
 - Убрать спереди этой строки ";"
- Добавить часовой пояс Москва: "Europe/Moscow"
Далее открываем конфигурационный файл Apache
nano /etc/http/conf/httpd.conf
проверяем есть ли строка 
 LoadModule php5_module modules/libphp5.so
Так же необходимо добавить в DirectoryIndex
index.php Должно получиться DirectoryIndex index.php index.html
И добавить строчки
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
И все, что нам осталось, это только проверить работу php Для этого в каталоге с Вашим Web-server (DocumentRoot по умолчанию /etc/http/htdocs) создаем файлик, например index.php и пропишим туда следующий код
<?php
phpinfo();
?>
Набираем в адресной строке нашего сайта localhost/test.php и проверяем что получилось.