PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools7(https://ru.wikipedia.org/wiki/PHP#cite_note-off_history-7) — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык8(https://ru.wikipedia.org/wiki/PHP#cite_note-8) общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов9(https://ru.wikipedia.org/wiki/PHP#cite_note-tiobe-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)bashmake -f Makefilebashmake 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.gzcd libgd-gd-2.1.1apt-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=1makemake install-curl
wget http://curl.haxx.se/download/curl-7.43.0.tar.gztar zxvf curl-7.43.0.tar.gzcd curl-7.43.0./configure --prefix=/usr/localmake make installУстановка php
apt-get install lcov libxml2-dev libmysqlclient-dev libstdc++5sudo 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/localmakemake 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Так же необходимо добавить в DirectoryIndexindex.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 и проверяем что получилось.