BSDadmin.ru

... записки администратора FreeBSD

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Home Веб-сервера
Apache

Расширения PHP-extension во FreeBSD

Рейтинг пользователей: / 1
ХудшийЛучший 

В этой статье рассмотрим инсталляцию расширений PHP , а заодно, опишем возможности этих расширений.
Идем:
# cd /usr/ports/lang/php5-extensions
Смотрим опции:
#
make config
Options for php5-extensions 1.3

[X] BCMATH bc style precision math functions - математика
[X] BZ2 bzip2 library support - поддержка библиотеки архиватора Bzip2
[X] CALENDAR calendar conversion support
[X] CTYPE ctype functions
[X] CURL CURL support - библиотека,позволяющая отсылать HTTP запросы из php скриптов
[X] DBA dba support - поддержка базы формата dba
[ ] DBASE dBase library support - поддержка базы Формата Dbase
[X] DOM DOM support
[X] EXIF EXIF support
[X] FILEINFO fileinfo support
[X] FILTER input filter support - поддержка фильтров
[ ] FRIBIDI FriBidi support
[X] FTP FTP support - поддержка FTP
[X] GD GD library support - библиотека для работы с графикой
[X] GETTEXT gettext library support - библиотека для поддержки многоязычности в приложениях
[X] GMP GNU MP support
[X] HASH HASH Message Digest Framework
[X] ICONV iconv support - библиотека перекодировки текстов
[X] IMAP IMAP support - поддержка Imap и POP3
[ ] INTERBASE Interbase 6 database support (Firebird) - поддержка базы INTERBASE
[X] JSON JavaScript Object Serialization support
[ ] LDAP OpenLDAP support - поддержка LDAP
[X] MBSTRING multibyte string support
[ ] MCRYPT Encryption support - поддержка криптографии
[ ] MHASH Crypto-hashing support - поддержка Crypto-hashing
[X] MING ming shockwave flash support
[ ] MSSQL MS-SQL database support - поддержка базы данных Microsoft SQL
[X] MYSQL MySQL database support -поддержка базы данных MySQL
[ ] MYSQLI MySQLi database support - поддержка базы данных MySqli
[X] NCURSES ncurses support (CLI only)
[ ] ODBC unixODBC support
[X] OPENSSL OpenSSL support - поддержка OpenSSL
[X] PCNTL pcntl support (CLI only)
[X] PCRE Perl Compatible Regular Expression support - поддержка регулярных выражений,совместимых с PERL
[X] PDF PDFlib support (implies GD) - библиотека поддержки PDF
[X] PDO PHP Data Objects Interface (PDO)
[X] PDO_SQLITE PDO sqlite driver
[ ] PGSQL PostgreSQL database support - поддержка базы данных PostgreSQL
[X] POSIX POSIX-like functions
[X] PSPELL pspell support
[ ] READLINE readline support (CLI only)
[ ] RECODE recode support
[X] SESSION session support - поддержка сессий пользователя в PHP
[ ] SHMOP shmop support
[X] SIMPLEXML simplexml support
[X] SOAP SOAP support
[X] SOCKETS sockets support - позволяют php скриптам подключаться по сети к другим сервисам
[X] SPL Standard PHP Library
[ ] SQLITE sqlite support - поддержка базы данных SQLITE
[ ] SYBASE_CT Sybase database support - поддержка базы данных Sybase
[ ] SYSVMSG System V message support
[ ] SYSVSEM System V semaphore support
[ ] SYSVSHM System V shared memory support
[X] TIDY TIDY support
[X] TOKENIZER tokenizer support
[ ] WDDX WDDX support (implies XML)
[X] XML XML support - поддержка XML
[X] XMLREADER XMLReader support - поддержка XMLREADER
[ ] XMLRPC XMLRPC-EPI support
[X] XMLREADER XMLReader support
[X] XMLRPC XMLRPC-EPI support
[X] XMLWRITER XMLWriter support
[X] XSL XSL support (Implies DOM)
[X] YAZ YAZ support (ANSI/NISO Z39.50)
[X] ZIP ZIP support - поддержка архиватора ZIP
[X] ZLIB ZLIB support - поддержка Zlib (сжатие данных)

Инсталлируем
# make install

В действительности эти порты имеют вид типа php5-curl-номер-версии, php5-gd-номер-версии, php5-mysql-номер-версии и их можно найти в коллекции портов и поставить самостоятельно, без php5-extensions.
Например для инсталляции расширения BCMATH необходимо сделать :
# cd /usr/ports/bcmath/php5-bcmath
# make install

После инсталляции необходимо не забыть перезапустить Apache:
# apachectl restart

 

Описание опций PHP в файле php.ini

Рейтинг пользователей: / 2
ХудшийЛучший 

;;;;;;;;;;;;;;;;;

; Об  файле  PHP.INI  ;

;;;;;;;;;;;;;;;;;

; Этот файл содержит большинство установок PHP. Чтобы PHP смог его
; обнаружить, он должен называться 'php.ini'. Интерпретатор ищет файл в
; текущем каталоге, в случае неудачи - в каталоге, указанном в
; переменной окружения PHPRC, и, наконец, в каталоге, заданном при -в
; компиляции и сборке PHP (именно в таком порядке).
; В системе Windows путь, указанный при компиляции PHP,
; соответствует каталогу Windows (в большинстве случаев это
; c:windows). Папка, в которой будет производиться поиск файла
; 'php.ini', может быть также определена с использованием ключа -c
; командной строки.

 

Настройка связки Apache22+mysql+php.

Рейтинг пользователей: / 2
ХудшийЛучший 

Инсталляция FreeBSD  в данной статье не рассматривается.
Счетается , что  инсталлировать FreeBSD Вы умеете.
Сначала ставим и настраиваем базу данных.
exim# cd /usr/ports/databases/mysql51-server/
exim# make WITH_XCHARSET=all
exim# make install
Редактируем rc.conf:
exim# ee /etc/rc.conf
Добавляем:
mysql_enable="YES"
Создаем конфигурационный файл my.cnf для MySQL.
exim#cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
Запускаем MySQL сервер:
exim# /usr/local/etc/rc.d/mysql-server start
Проверяем, запустился ли:
exim# ps -ax | grep mysql
Если видим подобное, то все в порядке:
72567 v0 S 0:00.01 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-f
72618 v0 S 0:00.15 /usr/local/libexec/mysqld --defaults-extra-file=/var/
72620 v0 R+ 0:00.00 grep mysql

Назначаем пароль 12345 для root mysql:
exim# mysqladmin -u root password 12345
проверяем, можем ли мы зайти под паролем:
exim# mysql -uroot -p
Enter password:

Удаляем libtool-1.5.Х, так как будем ставить apache 2.2 , а ему требуется libtool22, иначе будет конфликт библиотек при сборке:
exim# pkg_info
exim# pkg_delete libtool-1.5.26
Ставим libtool22 для apache2.2
exim# cd /usr/ports/devel/libtool22/
exim# make
exim# make install
ставим apache2.2:
exim# cd /usr/ports/www/apache22
exim# make
exim# make install

Ставим PHP5:
exim# cd /usr/ports/lang/php5
exim# make

 

Решение ошибки при запуске Apache

Рейтинг пользователей: / 5
ХудшийЛучший 

Если при запуске Apache возникает ошибка типа:

[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

То проблема  в accf_http модуле, идея которого в буферизации входящих соединений до окончания полного http запроса. Соответственно включаем его – пишем в командной строке:

# kldload accf_http

И для постоянной загрузки модуля(при перезагрузки) пишем в /boot/loader.conf:

accf_http_load=”YES”