Новости
  04/12/2009

Legrand" DLP mini для каждого офиса
  10/04/2009

Сайт дополнился интерестными статьями о Сборке компьютеров, Веб-дизайне, Сетевых технологиях...
 


Free BSD для начинающих.
продолжение. (начало - 1 , 2 , 3)

Как устанавливать PHP на FreeBSD

И так настал черед установки модуля PHP, для этого в начале надо установить сам интерпретатор php нужно выполнить следующие шаги. Мы будем рассматривать установку php версии 5, если вам по каким-то причинам нужна версия 4, вам нужно будет просто адаптировать эти инструкции. В основном это сведется к исправлению php5 на php4 во всех командах.
Настройка опций php5.
% cd /usr/ports/lang/php5 % make config
Опцию IPv6 можно снять, а вот опцию APACHE обязательно нужно поставить.

1 + Options for php5 5.2.5
1 1Ш CLI Build CLI version
1 1Ш CGI Build CGI version
1 1Ш APACHE Build Apache module
1 |[ ] DEBUG Enable debug
1 |[Х] SUHQSIH Enable Suhosin protection system (not for jails)
1 |[ ] MULTIBYTE Enable zend multibyte support
1 |[ ] IPV6 Enable ipv6 support
1 |[ ] MAILHEAD Enable mail header patch
1 |[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
1 |[ ] DISCARD Enable discard-path support (CGI only)
1 |[Х] FASTCGI Enable fastcgi support (CGI only)
1 |[Х] PATHIHFO Enable path-info-check support (CGI only)
[ OK ] Cancel

После этого в этой-же директории выполняете команду make install. Она скачает, скомпилирует и установит модуль php. В частности она автоматом исправит и конфигурацию apache сервера, чтоб включить этот модуль с список доступных модулей.

Как подключить модуль PHP в Apache

После установки php уже разрешен в конфиге apache как модуль, но его еще невозможно использовать. Для его использования нужно связать расширения файлов .php с правильным типом данных - чтоб Apache знал бы, для каких файлов запускать интепретатор php. Откройте файл /usr/local/etc/apache/httpd.conf, найдите в нем следующие строчки с конфигурацией php4 и php3 и добавьте выделенные курсором команды. Команды AddType связывают расширение файла с интерпретатором php - если вам нужно, чтоб и в .html файлах бы выполнялись php скрипты, то добавьте еще одну строчку AddType application/x-httpd-php .html.
IfModule mod_php4.c
AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps /IfModule
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Directorylndex index.php index.html
Опция Directorylndex показывает, какие файлы нужно выводить пользователю, если он запросил не конкретный файл, а директорию. Данная настройка приведет к тому, что в при запросе директории apache сперва будет искать файл index.php, если он будет найден, запустит его и выведет результат выполнения пользователю. Если такого файла нет, то тогда он попытается найти файл index.html. Если и такого файла не найдется, то пользователь получит ошибку - "Листинг директроии запрещен".

Расширения PHP

Вся основная сила php в его расширениях, так что для полноценной работы нам необходимо будет поставить их тоже. Если вы хотите работать с MySQL из php, то тогда вам нужно отправиться в главу "Как устанавливать MySQL и выполнить всю установку, которая там описана, а потом уже только возвращаться сюда.

Как устанавливать расширения PHP

% cd /usr/ports/lang/php5-extensions % make config
На первом экране стоит включить расширения CURL, GD, GETTEXT. CURL - это библиотека, которая позволяет отсылать HTTP запросы из php скриптов, многие пакеты ее используют GD - это библиотека для работы с графикой, генерации картинок на лету, изменения размеров и так далее, если вы будете ставить какое-то готовое програмное обеспечение, которое работает с графикой - вам скорее всего понадобится это расширение
GETTEXT — это специальная библиотека для поддержки многоязычности в приложениях, если приложение поддерживает многоязычность и позволяет переключать язык своего интерфейса, скорее всего оно использует gettext
] + Opt ions for php5~extensions 1.1
II [ ] ВСМАТН be style precision math functions
II [ ] BZ2 bzip2 library support
II [ ] CALEIMR calendar conversion support
1 1 [X] CTYPE ctype functions
1 1 [X] ешь CURL support
II [ ] DBA dba support
II [ ] DBASE dBase library support
1 1 [X] DOM DOM support
II [ ] EXIF EXIF support
II [ ] FILEIHFO fileinfo support
1 1 [X] FILTER input filter support
II [ ] FKIBIDI FriBidi support
II [ ] FTP FTP support
1 1 [X] GD GD library support
1 1 [X] +______ GETTEXT (+)_______ gettext library support _______+~+
[ OK ] Cancel

На втором экране можно включить расширения ICONV, IMAP, MYSQL. ICONV - это расширение отвечает за перекодировку текстов из одной кодировки в другую, скажем из ср1251 (Windows киррилическая кодировка) в UTF-8 - Юникод. IMAP - эта библиотека реализует протоколы доступа к почте IMAP и РОРЗ, так что если вы будете писать или устанавливать webmail интерфейс на php, то вам она понадобится. MYSQL - это интерфейс с базе данных MySQL, перед тем как выбирать эту опцию, убедитесь, что MySQL у вас уже инсталлирован.

+________ ______+
1 Opt ions for php5~extensions 1.1 1
1 +------ .-(.)------- ------------------------------------------ ----+ |
II [ ] GMP am mp support 1 I
1 1 [X] HASH HASH Message Digest Framework 1 I
1 1 [X] i сон? iconv support 1 1
1 1 [X] IMAP IMAP support 1 1
II [ ] INTERBASE Interbase 6 database support (Firebird) 1 I
1 1 [X] JSOH JavaScript Object Serialization support 1 1
II [ ] LDAP OpenLDAP support 1 1
II [ ] MBSTRIHG multibyte string support 1 1
II [ ] MCRTPT Encryption support 1 1
II [ ] MHASH Crypto-hashing support 1 1
II [ ] MING ming Shockwave flash support 1 1
II [ ] MSSQL MS-SQL database support 1 1
1 1 [X] MYSQL MySQL database support 1 1
II [ ] MTSQLI MySQLi database support 1 1
II [ ] HCURSES vf-*-"! ncurses support (CLI only) 1 1 —-+-+
+ v t^J------- [ OK ] Cancel

На третьем экране убедитесь, что у вас не отключено расширение SESSION которое обеспечивает поддержку сессий пользователя в php. Без него гарантированно не будут работать многие приложения. Еще убедитесь в наличии PCRE — расширение обеспечивает вы возможность использования регулярных выражений, совместимых с Perl, из интерпретатора php — очень многие скрипты полагаются на наличие этого расширения.
Options for php5~extensions 1.1

II [ ] ODBC unixODBC support
II [ ] OPEHSSL OpenSSL support
II [ ] PCITL pcntl support (CLI only)
1 1 [X] PCRE Perl Compatible Regular Expression support
II [ ] PDF PDFlib support (implies GD)
1 1 [X] PDO PHP Data Objects Interface (PDO)
1 1 [X] PDQ_SQLITE PDO sqlite driver

II [ ] PGSQL PostgreSQL database support
1 1 [X] POSIX POSIX-like functions
II [ ] PSPELL pspell support
II [ ] READLIIE readline support (CLI only)
II [ ] RECODE recode support
1 1 [X] SESSIOH session support
II [ ] SHMOP shmop support
1 1 [X] SIMPLEXML simplexml support
[ OK ] Cancel

На четвертом экране можно отметить расширение SOCKETS, которое позволяет РНР скриптам подключаться по сети к другим сервисам. Скрипты, которые подключаются к другим серверам для получения с них информации, могут использовать это расширение (обыкновенно используют либо SOCKETS либо CURL, в зависимости от того, что доступно).

1 Opt ions for php5~extensions 1.1

II [ ] simp SIMP support
II [ ] SOAP SOAP support
1 1 [X] sockets sockets support
1 1 [X] SPL Standard PHP Library
1 1 [X] SQLITE sqlite support
II [ ] SYBASE_CT Sybase database support
II [ ] STSMSG System message support
II [ ] STSSEM System semaphore support
II [ ] STSSHM System shared memory support
II [ ] TIDY TIDY support
1 1 [X] TOKEHIZER tokenizer support
II [ ] WDDX WDDX support (implies XML)
1 1 [X] XML XML support
1 1 [X] XMLREADER XMLReader support
II [ ] XMLRPC XMLRPC-EPI support

[ OK ] Cancel
На пятом экране можно отметить расширение ZLIB, которое используется для сжатия данных. Скрипты (в частности phpMyAdmin), используют эту библиотеку, чтоб сжимать выходные данные и чтоб уменьшить объем данных передаваемых по сети.

1 Opt ions for php5~extensions

II [ ] SYBASE_CT Sybase database support
II [ ] SYSMSG System message support
II [ ] SYSSEM System semaphore support
II [ ] SYSSHM System shared memory support
II [ ] TIDY TIDY support
1 1 [X] TOKEHIZER tokenizer support
II [ ] WDDX WDDX support (implies XML)
1 1 [X] XML XML support
1 1 [X] XMLREADER XMLReader support
II [ ] XMLRPC XMLRPC^EPI support
1 1 [X] XMLWRITER XMLWriter support
II [ ] XSL XSL support (Implies DOM)
II [ ] YAZ YAZ support (ANSI/NISO Z39.50)
II [ ] ZIP ZIP support
1 1 [X] ZLIB ZLIB support

[ OK ] Cancel
После того, как вы выбрали список расширений, достаточно запустить % make install
Эта команда вызовет скачивание и компиляцию всех тех расширений, которые были помечены в конфигурации. В действительности, php5-expressions сам не умеет устанавливать никаких расширений php :) просто он вызывает компиляцию соответствующих портов. В действительности эти порты имеют вид рhр5-сuг1-номер-версии,php5-gd-номер-версии, php5-mysql-номер-версии и их можно найти в коллекции портов. Вы можете ставить их и самостоятельно потом, без использования php5-expressions.
Например для установки расширения ВСМАТН нужно сделать % cd /usr/ports/*/php5-bcmath % make install

после чего оно само скачает необходимые файлы, установится и активизирует себя в конфиге php интерпретатора.
При деинсталляции пакета с расширением php он автоматом удаляет себя из конфига интерпретатора php.

После установки расширений php

Если вы поставили или удалили расширение php, вам необходимо перезапустить apache при помощи apachectl restart.


 


copyright (c) 2006-2010, ABNET Company. all right reserved

Click here Click here Click here