Требования

PHP 7.2

Phalcon v4 поддерживает только PHP 7.2 и выше. PHP 7.1 был выпущен 2 года назад, и его активная поддержка прекратилась, поэтому мы решили следовать активно поддерживаемым версиям PHP.

PSR

Phalcon требует расширения PSR. Расширение можно загрузить и скомпилировать из этого репозитория GitHub. Инструкции по установке доступны в файле README репозитория. Как только расширение будет скомпилировано и доступно в вашей системе, вам нужно будет загрузить его на ваш php.ini. Вам нужно будет добавить эту строку:

extension=psr.so

до

extension=phalcon.so

В качестве альтернативы некоторые дистрибутивы добавляют числовой  префикс в ini файлы. Если это так, выберите высокое число для Phalcon (например, 50-phalcon.ini).

С помощью Pecl это расширение будет установлено автоматически.

PDO

Поскольку Phalcon слабо связан, он предоставляет функциональность без необходимости дополнительных расширений. Однако некоторые компоненты полагаются на дополнительные расширения для работы. При необходимости подключения к базе данных и доступа к ней необходимо установить расширение php_pdo. IЕсли ваша СУБД-MySQL/MariaDB или Aurora, вам также понадобится расширение php_mysqlnd. Аналогично, использование базы данных PostgreSql с Phalcon требует расширения php_pgsql.

Аппаратное обеспечение

Phalcon разработан таким образом, чтобы потреблять как можно меньше ресурсов, взамен предлагая высокую производительность. Несмотря на то, что мы протестировали Phalcon в различных средах низкого класса (например, 0,25 ГБ оперативной памяти, 0,5 процессора), оборудование, которое вы выберете, будет зависеть от потребностей вашего приложения.

Наш веб-сайт и блог (а также другие сайты) работают на Amazon VM с 512 MB RAM и 1 vCPU.

Программное обеспечение

Наряду с PHP 7.2 или выше, в зависимости от потребностей вашего приложения и необходимых компонентов Phalcon, вам может потребоваться установить следующие расширения:

Дополнительно, в зависимости от потребностей вашего приложения

  • Расширение PDO, а также расширение для работы с соответствующей СУБД (MySQL, PostgreSql и т.д.)
  • Расширение OpenSSL
  • Расширение Mbstring
  • Расширение Memcache, Memcached или любое другое, в зависимости от планируемого драйвера кеша

Примечание: установка этих пакетов зависит от операционной системы, а также от используемого менеджера пакетов (если таковой имеется). Пожалуйста, ознакомьтесь с соответствующей документацией о том, как установить эти расширения.

Для пакета libpcre3-dev можно использовать следующие команды:

Pecl

Метод установки Pecl доступен для Windows, Linux и MacOS. Под windows будут использоваться предварительно скомпилированные dll-файлы. Под Linux и MacOS он будет компилировать Phalcon локально, чтобы можно было быстрее использовать другой метод установки на этих платформах. Для установки с помощью Pecl убедитесь, что у вас установлен pecl/pear.

pecl channel-update pecl.php.net
pecl install phalcon

Debian

sudo apt-get install libpcre3-dev

а затем попробуйте установить Phalcon еще раз

CentOS

sudo yum install pcre-devel

Mac/Osx с помощью Brew

brew install pcre

Без brew, вам нужно зайти на сайт PCRE и скачать последнюю версию pcre:

tar -xzvf pcre-8.42.tar.gz
cd pcre-8.42
./configure --prefix=/usr/local/pcre-8.42
make
make install
ln -s /usr/local/pcre-8.42 /usr/sbin/pcre
ln -s /usr/local/pcre-8.42/include/pcre.h /usr/include/pcre.h

Для Maverick

brew install pcre

если это дает вам ошибку, вы можете использовать

sudo ln -s /opt/local/include/pcre.h /usr/include/
sudo pecl install apc 

Установка

Поскольку Phalcon компилируется как расширение PHP, его установка несколько отличается от любого другого традиционного фреймворка PHP. Phalcon должен быть установлен и загружен как модуль веб-сервера.

Linux

Перед установкой Phalcon в Linux, необходимо добавить репозиторий.

DEB дистрибутивы (Debian, Ubuntu, и т.д.)

Настройка репозитория

Добавьте репозиторий для вашего дистрибутива:

Стабильные релизы
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash

или

Ночные релизы
curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.deb.sh | sudo bash

Основные релизы (alpha, beta и т.д.)

curl -s https://packagecloud.io/install/repositories/phalcon/mainline/script.deb.sh | sudo bash

 

Примечание: это нужно сделать только один раз, если только ваш дистрибутив не изменится или вы не захотите переключиться со стабильной сборки на ночную.

Установка Phalcon

Чтобы установить Phalcon выполните следующие команды в терминале:

PHP 7
sudo apt-get update
sudo apt-get install php7.2-phalcon

Сторонние PPA-репозитории

Ondřej Surý

Так же существует возможность использовать репозиторий Ondřej Surý, вместо packagecloud.io.

Добавление репозитория:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

установка Phalcon:

sudo apt-get install php-phalcon4

RPM дистрибутивы (CentOS, Fedora, и т.д.)

Настройка репозитория

Добавьте репозиторий для вашего дистрибутива:

Стабильные релизы
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.rpm.sh | sudo bash

Ночные релизы
curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.rpm.sh | sudo bash
Основные релизы (alpha, beta и т.д.)
curl -s https://packagecloud.io/install/repositories/phalcon/mainline/script.rpm.sh | sudo bash

Примечание: это нужно сделать только один раз, если только ваш дистрибутив не изменится или вы не захотите переключиться со стабильной сборки на ночную.

Установка Phalcon

Чтобы установить Phalcon выполните следующие команды в терминале:

sudo yum update
sudo yum install php72u-phalcon

Сторонние RPM-репозитории

Remi

Remi Collet поддерживает отличный репозиторий для операционных систем использующих RPM-пакеты. Вы можете найти инструкции о том, как включить его для вашего дистрибутива здесь.

Установка Phalcon, после того, проста:

yum install php56-php-phalcon4

Дополнительные версии доступны как для конкретной архитектуры (x86 / x64), так и для конкретной версии PHP

FreeBSD

Порт для FreeBSD. Для его установки необходимо выполнить следующие команды:

pkg_add

pkg_add -r phalcon4

Сборка из исходников

export CFLAGS="-O2 --fvisibility=hidden"

cd /usr/ports/www/phalcon4

make install clean

Gentoo

Оверлей для установки Phalcon может быть найден здесь: https://github.com/smoke/phalcon-gentoo-overlay

Raspberry Pi

Для Raspberry Pi нет репозитария, поэтому надо компилировать из исходников.

sudo -s
git clone https://github.com/phalcon/cphalcon
cd cphalcon/
git checkout tags/v4.0.0 ./
zephir fullclean
zephir build

Для комманды git checkout tags/v4.0.0 ./ список доступных версий можно узнать с помощью комманды:

 

git tag

И соответственно заменить v4.0.0 на наиболее свежую версию.

 

Также необходимо увеличить размер файла подкачки со 100 МБ по умолчанию до не менее 2000 МБ. Потому что компилятору не хватает оперативной памяти.

sudo -s
nano /etc/dphys-swapfile

Замена CONF_SWAPSIZE=100 на CONF_SWAPSIZE=2000

После сохранения настроек перезагрузите демон:

/etc/init.d/dphys-swapfile stop
/etc/init.d/dphys-swapfile start

macOS

В macOs вы можете скомпилировать и установить расширение из исходников, либо воспользоваться brew или macports:

Необходимое программное обеспечение

Brew включает бинарные пакеты, поэтому вам не нужно самостоятельно компилировать Phalcon. Если вы хотите скомпилировать расширение самостоятельно, вам необходимо установить следующие зависимости:

  • Набор инструментов для разработчика PHP  7.2.x/7.3.x (php-dev)
  • XCode

Brew

Brew

Бинарная установка (предпочтительно):

brew tap phalcon/extension https://github.com/phalcon/homebrew-tap
brew install phalcon

Компиляция phalcon:

brew tap phalcon/extension https://github.com/phalcon/homebrew-tap
brew install phalcon --build-from-source 

MacPorts

sudo port install php72-phalcon
sudo port install php73-phalcon

Откройте ваш php.ini и добавьте в конец файла:

extension=php_phalcon.so

Перезагрузите веб-сервер.

Windows

Для использования Phalcon в Windows вам понадобится установить phalcon.dll. Мы подготовили различные DLL для большинства целевых платформ. DLL могут быть найдены на нашей страничке загрузок.

В первую очередь определите вашу версию PHP, а также архитектуру. Обратите внимание, если вы скачаете неподходящую версию DLL, Phalcon работать не будет. Вам может помочь функция phpinfo(), которая выводит соответствующую информацию. В приведенном ниже примере, нам понадобится NTS версия DLL:

Доступны следующие DLL:

АрхитектураВерсияТип
x64 7.x Потокобезопасный
x64 7.x Не являющийся потокобезопасным (NTS)
x86 7.x Потокобезопасный
x86 7.x Не являющийся потокобезопасным (NTS)

Откройте ваш php.ini и добавьте в конец файла:

extension=php_phalcon.dll

Перезагрузите веб-сервер.

Компиляция из исходников

Сборка из исходников похожа в большинстве сред (Linux/macOs).

Необходимое программное обеспечение

  • Набор инструментов для разработчика PHP 7.2.x/7.3.x (php-dev)
  • Компилятор GCC (Linux/Solaris/FreeBSD) или Xcode (macOS)
  • re2c >= 0.13
  • libpcre-dev (libpcre3-dev)

Эти пакеты можно установить в системе с помощью соответствующего диспетчера пакетов. Ниже приведены инструкции для популярных дистрибутивов linux:

Ubuntu

sudo apt-get install php7-dev libpcre3-dev gcc make

Suse

sudo zypper install php7-devel gcc make

CentOS / Fedora / RHEL

sudo yum install php-devel pcre-devel gcc make

Компиляция Phalcon

Для начала необходимо получить Phalcon с официального репозитория на Github

git clone https://github.com/phalcon/cphalcon

Компиляция Phalcon

cd cphalcon/
git checkout tags/v4.0.1 ./
zephir fullclean
zephir build

Проверьте модуль

php -m | grep phalcon

 

Вам понадобится добавить extension=phalcon.so в ваш php.ini и перезапустить веб-сервер для загрузки расширения.

# Suse: создайте файл phalcon.ini в /etc/php5/conf.d/ со следующим содержимым:
extension=phalcon.so

# CentOS/RedHat/Fedora: создайте файл phalcon.ini в /etc/php.d/ со следующим содержимым:
extension=phalcon.so

# Ubuntu/Debian с apache2: создайте файл 30-phalcon.ini в /etc/php5/apache2/conf.d/ со следующим содержимым:
extension=phalcon.so

# Ubuntu/Debian с php5-fpm: создайте файл 30-phalcon.ini в /etc/php5/fpm/conf.d/ со следующим содержимым:
extension=phalcon.so

# Ubuntu/Debian с php5-cli: создайте файл 30-phalcon.ini в /etc/php5/cli/conf.d/ со следующим содержимым:
extension=phalcon.so

Приведенные выше инструкции позволят скомпилировать и установить модуль в вашей системе. Вы также можете скомпилировать расширение и добавить его вручную в ini файл:

cd cphalcon/
git checkout tags/v4.0.0 ./
zephir fullclean
zephir compile
cd ext
phpize
./configure
make && make install

Если вы используете метод, описанный выше, вам нужно добавить extension=phalcon.so в вашем php.ini как для CLI, так и для веб-сервера.

Настройка Сборки

По умолчанию мы компилируем, чтобы быть максимально совместимыми со всеми процессорами (gcc -mtune=native -O2 -fomit-frame-pointer). Если вы хотите, чтобы компилятор генерировал оптимизированный машинный код, соответствующий процессору, на котором он в данный момент работает, вы можете установить свои собственные флаги компиляции, экспортировав CFLAGS перед сборкой. Например

export CFLAGS="-march=native -O2 -fomit-frame-pointer"
zephir build

Это создаст наилучший возможный код для этого чипсета, но, скорее всего, сломает скомпилированный объект на более старых чипсетах.

Общий Хостинг

Запуск вашего приложения на общем хостинге может ограничить вас в установке Phalcon, особенно если у вас нет корневого доступа. Некоторые панели управления веб-хостингом, к счастью, имеют поддержку Phalcon.

cPanel & WHM

cPanel & WHM поддерживают Phalcon с помощью Easy Apache 4 (EA4). Вы можете установить Phalcon, включив модуль в Easy Apache 4 (EA4).

Plesk

Панель управления plesk не поддерживает Phalcon, но вы можете найти инструкции по установке на веб-сайте Plesk