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