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 Makefile
make 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 и проверяем что получилось.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *