Меню Рубрики

Установка php с расширениями freebsd

Установка расширений PHP на FreeBSD.

Как устанавливать новые расширения для php во FreeBSD?

PHP (Hypertext Preprocessor) — это широко используемый язык создания сценариев (скриптов) общего назначения, который разрабатывался для удобства web-программирования. Главное преимущество PHP — это то, что он является чрезвычайно простым для начинающего web-программиста и в то же время предлагает широкий спектр возможностей для профессионала.

[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 — поддержка регулярных выражений
[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 (сжатие данных)

источник

Подключение модулей (extensions) php во FreeBSD 10.1

Есть машина с FreeBSD 10.1, сеть настроена, порты обновлены. Пытаюсь запустить сборку Apache 2.2 + MySQL + php5.5(+extensions) + phpMyAdmin. Apache запустился, страницу «It works!» отобразил. PHP тоже установился, для апача ставил модуль php55_mod. Получилось вывести phpinfo() . И вот на следуещем шаге у меня затык: не устанавливается phpMyAdmin:

Call to undefined function mb_detect_encoding() in /usr/local/www/phpMyAdmin/libraries/php-gettext/gettext.inc on line 177

После некоторого гугления понял, что дело в том, что у меня не установились модуль mbstring и еще до кучи. В логах однотипные ошибки:

Читайте также:  Установка беспроводного принтера samsung

Я понимаю, что у меня debug-php скомпилирован, хотя я явно не указывал Debug при конфигурировании. Или может я не так понимаю? Вообще суть вопроса проста: как мне добиться идентичности строк? Либо так:

Буду весьма благодарен за ответ.

2 ответа 2

Я взял виртуальную машину (qemu-kvm), поставил туда FreeBSD 10.1-RELEASE amd64 и попробовал воспроизвести Вашу проблему. Мои шаги:

Сэкономим немного времени, поставив некоторые зависимости руками, из пакетов, без сборки из исходников. Теперь займёмся портами:

Галка «DEBUG» в конфиге порта lang/php55 по умолчанию снята, может у Вас в ней дело? Оставляю всё, как есть, жму OK.

В диалоге конфигурации порта lang/php55-extensions отмечаю в дополнение к отмеченному из коробки галки BCMATH, CURL, FTP, GD, GETTEXT, MBSTRING, MCRYPT, MYSQLI, OPENSSL, PDO_MYSQL, READLINE, SOCKETS, XMLRPC, ZIP. У остальных портов принимаю дефолтную конфигурацию. Теперь можно собирать PHP (ставим порт php55-extensions, порт php55 поставится как зависимость):

PHP с модулями установлен. Ставим MySQL:

Apache запущен, «It Works» показывает, phpinfo() показывает все нужные модули. Поставим phpmyadmin:

phpmyadmin установлен, настроем его, зайдя на http://our-test-host/phpMyAdmin/setup/index.php , по окончании настройки получим файл config.inc.php , который надо подложить в корень pma:

Всё, можно логиниться в phpmyadmin и ломать MySQL. (на самом деле нет, так как из коробки у MySQL пользователь root логинится без пароля, а pma этому сопротивляется — надо или задать руту пароль, или добавить $cfg[‘Servers’][$i][‘AllowNoPassword’] = 1; в конфиг pma.)

Не воспроизвелась у меня Ваша проблема. Где-то Вы что-то напутали, или мы изначально говорили о разных вещах — тогда мой эксперимент это должен показать.

Update: забыл про таймзоны:

и после этого перезапустить апач — PHP подхватит новую timezonedb, в чём можно убедиться в phpinfo() :

источник

Установка php с расширениями freebsd

В качестве примера используются apache24, php5, mysql56.
Операционная система — FreeBSD 10.

Подготавливаем сервер

Заходим под суперпользователем:

Выставляем часовой пояс (у меня московское время) и сразу синхронизируем время:

# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate 0.freebsd.pool.ntp.org;

Создаем задание в cron для автоматической синхронизации времени каждую ночь:

# echo ‘0 0 * * * /usr/sbin/ntpdate 0.freebsd.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab
# freebsd-update fetch && freebsd-update install

Установка и настройка MySQL

Устанавливаем из пакета mysql-server:

# pkg install -y mysql56-server

Разрешаем запуск демона mysql:

# echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf
# service mysql-server start

Меняем пароль для пользователя root в mysql:

# mysqladmin -u root password

Установка и настройка Apache

Указываем правильное имя сервера через файл hosts:

192.168.166.155 dmosk dmosk.local

* IP-адрес указан для локального сервера, для внешнего сервера указываем внешний адрес. dmosk — имя моего сервера.

Разрешаем запуск демона apache24:

# echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf

Отредактируем файл конфигурации для apache:

# ee /usr/local/etc/apache24/httpd.conf

MaxClients 200

HostnameLookups Off

* ServerName указывает имя сервера, Include стоит раскомментировать при использовании виртуальных доменов (рекомендуется), MaxClients указывает на максимальное количество одновременно созданных процессов apache, HostnameLookups разрешает или запрещает определение имени подключенного клиента (отключение, как в примере, ускоряет работу веб-сервера Apache).

Если вы раскомментировали подключение файла etc/apache24/extra/httpd-vhosts.conf, редактируем его (удаляем все содержимое и оставляем написанное ниже):

# ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

* Это простейшая конфигурация для виртуального сервера. Она принимает любые запросы на сервер по http (80 порт) и запускает скрипт в директории DocumentRoot. Рекомендую посмотреть в сети Интернет более полные примеры для настройки виртуальных доменов Apache.

Проверяем работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть ответ «It Works!»

Установка и настройка PHP

Устанавливаем интерпретатор PHP с необходимыми модулями:

# pkg install -y php5 mod_php5 php5-extensions php5-mysqli php5-mysql

Редактируем файл конфигурации php.ini:

* Это пример самых распространенных параметров, которые приходится редактировать. date.timezone определяет временную зону. magic_quotes_gpc, в данном примере, отключает экранирование кавычек («волшебных кавычек»). upload_max_filesize выставляет лимит для одного загружаемого на сервер файла. post_max_size выставляет лимит для всех загружаемых на сервер файлов. max_execution_time — это лимит времени в секундах, которое будет выделено на работу скрипта; при превышении этого времени сервер вернет ошибку (0, как в примере не лимитирует выполнение скрипта по времени).

Измените конфигурацию сервера Apache для подключения модуля PHP:

# ee /usr/local/etc/apache24/httpd.conf

AddType application/x-httpd-php .php .php3 .phtml

AddType application/x-httpd-php-source .phps

DirectoryIndex index.html index.htm index.php

* AddType вставляется внутри IfModule mime_module и устанавливает правила обработки скриптов PHP. DirectoryIndex задает индексный файл по умолчанию; если скрипт не задан явно в запросе, будет запущен именно он.

Переходим в корневую директорию расположения скриптов и переименовываем индексный файл:

# cd /usr/local/www/apache24/data && mv index.html index.php

Теперь добавляем в него функцию вызова параметров настройки сервера phpinfo():

Проверьте работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть много параметров в различных таблицах.

Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

источник

ЗАПИСКИ АДМИНИСТРАТОРА FREEBSD

Главная » Веб-сервера » Расширения PHP-extension во FreeBSD

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

В этой статье рассмотрим инсталляцию расширений PHP , а заодно, опишем возможности этих расширений.

Options for php5-extensions 1.3

[X] BCMATH bc style precision math functions —

[X] BZ2 bzip2 library support —

поддержка библиотеки архиватора Bzip2

[X] CALENDAR calendar conversion support

библиотека,позволяющая отсылать HTTP запросы из php скриптов

поддержка базы формата dba

[ ] DBASE dBase library support —

поддержка базы Формата Dbase

[X] FILEINFO fileinfo support

[X] FILTER input filter support —

библиотека для работы с графикой

[X] GETTEXT gettext library support —

библиотека для поддержки многоязычности в приложениях

[X] HASH HASH Message Digest Framework

библиотека перекодировки текстов

[ ] INTERBASE Interbase 6 database support (Firebird) —

[X] JSON JavaScript Object Serialization support

[X] MBSTRING multibyte string support

[ ] MCRYPT Encryption support —

[ ] MHASH Crypto-hashing support —

[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)

[X] OPENSSL OpenSSL support —

[X] PCNTL pcntl support (CLI only)

[X] PCRE Perl Compatible Regular Expression support —

поддержка регулярных выражений,совместимых с PERL

[X] PDF PDFlib support (implies GD) —

[X] PDO PHP Data Objects Interface (PDO)

[X] PDO_SQLITE PDO sqlite driver

[ ] PGSQL PostgreSQL database support —

поддержка базы данных PostgreSQL

[X] POSIX POSIX-like functions

[ ] READLINE readline support (CLI only)

[X] SESSION session support —

поддержка сессий пользователя в PHP

[X] SIMPLEXML simplexml support

[X] SOCKETS sockets support —

позволяют php скриптам подключаться по сети к другим сервисам

[X] SPL Standard PHP Library

поддержка базы данных SQLITE

[ ] SYBASE_CT Sybase database support —

поддержка базы данных Sybase

[ ] SYSVMSG System V message support

[ ] SYSVSEM System V semaphore support

[ ] SYSVSHM System V shared memory support

[X] TOKENIZER tokenizer support

[ ] WDDX WDDX support (implies XML)

[X] XML XML support — поддержка XML

[X] XMLREADER XMLReader 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)

поддержка Zlib (сжатие данных

В действительности эти порты имеют вид типа

php5-curl-номер-версии, php5-gd-номер-версии, php5-mysql-номер-версии

и их можно найти в коллекции портов и поставить самостоятельно, без php5-extensions.

Например для инсталляции расширения BCMATH необходимо сделать :

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

источник

Freebsd настройка php-fpm и nginx

Ранее я уже рассказывал, как установить и настроить Freebsd 10.1 в качестве web сервера ( 1 часть, 2 часть, 3 часть ) Там мы использовали Apache, nginx и php. Здесь же я хочу рассказать об установке и настройке связки nginx+php-fpm. По общепризнанному мнению, такая комбинация работает быстрее, чем связка с apache. Я на своем опыте в этом убедился. При прочих равных условиях, сайт wordpress выдерживает большую нагрузку с nginx и php fpm, нежели apache и php.

Обновим до последней версии с помощью вот этой инструкции. Проверяем, что получилось:

Отлично, обновления прошли. Я не буду давать общие рекомендации по настройке сервера, я их уже давал во 2-й части инструкции, ссылки на которую я приводил выше. Можно посмотреть при желании. Приступим сразу к делу.

Установка и настройка mysql на Freebsd

Добавляем Mysql в автозагрузку:

Создаем для него конфигурационный файл:

Конфигурацию каждый под свои потребности может сделать, описаний настроек в интернете много. Я предлагаю свой универсальный вариант:

В моем варианте сервер жестко привязан к локальному интерфейсу и удаленно с ним работать нельзя. Если вам нужны удаленные подключения, то в параметре bind-address добавьте внешний адрес сервера.

Проверяем, все ли в порядке:

Демон запущен и слушает локальный интерфейс.

Теперь запустим скрипт для настройки безопасности:

Задаем пароль для root и далее на все вопросы отвечаем утвердительно:

На этом установка и настройка mysql закончена. Идем дальше.

Установка и настройка PHP-FPM на Freebsd

Начиная с версии php 5.3 php-fpm идет как модуль, поэтому просто начинаем установку php и указываем в опциях fpm:

Ставим теперь дополнения php-extentions:

Дополнений много, все ставить не обязательно, можно будет остальное доставить потом в случае необходимости. Я обычно выбираю наиболее популярные и необходимые:

BZ2, CTYPE, CURL, DOM, EXIF, FILTER, FTP, GD, GETTEXT, HASH, ICONV, JSON, MBSTRING, MCRYPT, MYSQL, MYSQLI, PDF, PDO, PDO_SQLITE, PHAR, POSIX, SESSION, SIMPLEXML, SQLITE3, YOKENIZER, XML, XMLREADER, XMLWRITER, ZIP

Добавляем php-fpm в автозагрузку:

Редактируем файл с настройками, приводим его к следующему виду:

Проверяем синтаксис настроек:

Все в порядке. Идем дальше.

Установка и настройка nginx на Freebsd

Устанавливаем nginx на наш Freebsd сервер:

Выбираем настройки по-умолчанию.

Добавляем nginx в автозагрузку:

Редактируем файл настроек. Я приведу пример с двумя виртуальными серверами, на одном из которых будут настройки для wordpress, другой будет для phpmyadmin, я люблю его вешать на отдельный поддомен.

Создаем необходимые каталоги:

Почему-то nginx не смог создать папку во временном каталоге. Поможем ему сами:

Все в порядке. Наш web сервер на Freebsd готов. Запускаем nginx и проверяем, нормально ли запустился:

Все в порядке, сервер запущен и слушает 80-й порт. Теперь проверим работу web сервера с помощью тестовой странички. Создаем ее:

Переходим на сайт по адресу http://site1.ru Не забудьте настроить DNS для доступа к установленному серверу, либо отредактируйте в windows файл hosts, добавив туда строку:

где 192.168.1.21 адрес web сервера Freebsd 10.

Вы должны увидеть картинку:

Если видите ее у себя, поздравляю, вы все настроили правильно и web сервер полностью готов к работе. Остался только маленький штрих. Для удобства управления mysql установим phpmyadmin.

Установка phpmyadmin на web сервер Freebsd

Перемещаем файлы из установочной директории по-умолчанию в наш поддомен pma.site1.ru:

Настраиваем DNS записи на pma.site1.ru или просто добавляем в винде в файл hosts строку

И заходим по адресу http://pma.site1.ru

У вас должно открыться окно приветствия phpmyadmin. Вводим сюда пользователя и пароль root, которые мы задали в самом начале настройки и попадаем в панель управления базами.

На этом настройка web сервера на базе Freebsd 10.1 и связки nginx + php-fpm закончена.

источник

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

Adblock
detector