Требования
Phalcon требует PHP для запуска. Его слабо связанный дизайн позволяет разработчикам один раз установив Phalcon, использовать его возможности везде, без дополнительных расширений. Однако некоторые его компоненты зависят от других расширений. Например, использование подключений к базам данных, требует расширения php_pdo
. Если ваша СУБД MySql/MariaDb или Aurora, вам так же понадобится расширение php_mysqlnd
. Аналогично, использование базы данных PostgreSql с Phalcon, требует расширения php_pgsql
.
Аппаратное обеспечение
Phalcon разработан таким образом, чтобы потреблять как можно меньше ресурсов, взамен предлагая высокую производительность. Хотя мы и тестировали Phalcon на маломощных машинах (например с 256 MB RAM и процессором 500 MHz), оборудование, которое вы будете выбирать, будет зависеть от потребностей приложения.
Наш веб-сайт и блог (а также другие сайты) работают на Amazon VM с 512 MB RAM и 1 vCPU.
Программное обеспечение
Рекомендуется всегда использовать последние версии Phalcon и PHP из соображений стабильности, улучшения безопасности, а также производительности. Поддержка PHP 5.x будет прекращена в ближайшее время. Phalcon 4 будет поддерживать только PHP 7.
Phalcon нуждается в следующем минимальном наборе расширений:
curl
gettext
gd2
(для использования класса Phalcon\Image\Adapter\Gd
)
libpcre3-dev
(Debian/Ubuntu), pcre-devel
(CentOS), pcre
(macOS)
json
mbstring
pdo_*
fileinfo
openssl
Дополнительно, в зависимости от потребностей вашего приложения
Установка
Since Phalcon is compiled as a PHP extension, its installation is somewhat different than any other traditional PHP framework. Phalcon needs to be installed and loaded as a module on your web server.
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
Это необходимо сделать один раз, при смене дистрибутива или переключении со стабильных сборок на ночные.
Установка Phalcon
Чтобы установить Phalcon выполните следующие команды в терминале:
PHP 5.x
sudo apt-get update
sudo apt-get install php5-phalcon
PHP 7
sudo apt-get update
sudo apt-get install php7.0-phalcon
Сторонние PPA-репозитории
Ondřej Surý
Так же существует возможность использовать репозиторий Ondřej Surý, вместо packagecloud.io</0>.</p>
Добавление репозитория:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
установка Phalcon:
sudo apt-get install php-phalcon
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
Это необходимо сделать один раз, при смене дистрибутива или переключении со стабильных сборок на ночные.
Установка Phalcon
Чтобы установить Phalcon выполните следующие команды в терминале:
PHP 5.x
sudo yum update
sudo yum install php56u-phalcon
PHP 7
sudo yum update
sudo yum install php70u-phalcon
Сторонние RPM-репозитории
Remi
Remi Collet поддерживает отличный репозиторий для операционных систем использующих RPM-пакеты. Вы можете найти инструкции о том, как включить его для вашего дистрибутива здесь.
Установка Phalcon, после того, проста:
yum install php56-php-phalcon3
Доступны версии для архитектур x86/x64 и PHP 5.5/5.6/7.x.
FreeBSD
A port is available for FreeBSD. To install it you will need to issue the following commands:
pkg_add
Сборка из исходников
export CFLAGS="-O2 --fvisibility=hidden"
cd /usr/ports/www/phalcon
make install clean
Gentoo
Оверлей для установки Phalcon может быть найден здесь: https://github.com/smoke/phalcon-gentoo-overlay
macOS
В macOs вы можете скомпилировать и установить расширение из исходников, либо воспользоваться brew
или macports
:
Необходимое программное обеспечение
- Набор инструментов для разработчика PHP 5.5.x/5.6.x/7.0.x/7.1.x (php-dev)
- XCode
Brew
As the homebrew/php tap has been deprecated and is in the process of being removed, A custom repository for Phalcon has been created.
PHP 5.5 has not been ported to homebrew/core and as such no longer exists. PHP 7.2 on the other hand has been added.
brew tap tigerstrikemedia/homebrew-phalconphp
brew install php56-phalcon
brew install php70-phalcon
brew install php71-phalcon
brew install php72-phalcon
MacPorts
sudo port install php55-phalcon
sudo port install php56-phalcon
Откройте ваш php.ini и добавьте в конец файла:
Перезагрузите веб-сервер.
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) |
x64 |
5.6 |
Потокобезопасный |
x64 |
5.6 |
Не являющийся потокобезопасным (NTS) |
x86 |
5.6 |
Потокобезопасный |
x86 |
5.6 |
Не являющийся потокобезопасным (NTS) |
x64 |
5.5 |
Потокобезопасный |
x64 |
5.5 |
Не являющийся потокобезопасным (NTS) |
x86 |
5.5 |
Потокобезопасный |
x86 |
5.5 |
Не являющийся потокобезопасным (NTS) |
Откройте ваш php.ini и добавьте в конец файла:
extension=php_phalcon.dll
Перезагрузите веб-сервер.
Компиляция из исходников
Сборка из исходников похожа в большинстве сред (Linux/macOs).
Необходимое программное обеспечение
- Набор инструментов для разработчика PHP 5.5.x/5.6.x/7.0.x/7.1.x (php-dev)
- Компилятор GCC (Linux/Solaris/FreeBSD) или Xcode (macOS)
- re2c >= 0.13
- libpcre-dev (libpcre3-dev)
You can install these packages in your system with the relevant package manager. Instructions for popular linux distributions are below:
Ubuntu
sudo apt-get install php5-dev libpcre3-dev gcc make
Suse
sudo zypper install php5-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
затем собрать расширение
cd cphalcon/build
sudo ./install
Вам понадобится добавить 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
Расширенная компиляция
Инсталлятор Phalcon способен автоматически обнаружить целевую архитектуру. Однако, вы можете указать архитектуру явно, при запуске:
cd cphalcon/build
# Одна из следующих команд установит Phalcon для нужной архитектуры:
sudo ./install --arch 32bits
sudo ./install --arch 64bits
sudo ./install --arch safe
Если в результате автоматической установки произошел сбой, вы можете попробовать собрать расширение вручную:
git clone https://github.com/phalcon/cphalcon
# cd cphalcon/build/php5/32bits
cd cphalcon/build/php5/64bits
# Обратите внимание:
# Для PHP 7 вам необходимо использовать
# cd cphalcon/build/php7/32bits
# или
# cd cphalcon/build/php7/64bits
make clean
phpize --clean
export CFLAGS="-O2 --fvisibility=hidden"
./configure --enable-phalcon
make
make install
Если у вас не стандартная версия PHP:
git clone https://github.com/phalcon/cphalcon
# cd cphalcon/build/php5/32bits
cd cphalcon/build/php5/64bits
# Обратите внимание:
# Для PHP 7 вам необходимо использовать
# cd cphalcon/build/php7/32bits
# или
# cd cphalcon/build/php7/64bits
make clean
/opt/php-5.6.15/bin/phpize --clean
export CFLAGS="-O2 --fvisibility=hidden"
./configure --with-php-config=/opt/php-5.6.15/bin/php-config --enable-phalcon
make
make install
Вам понадобится добавить extension=phalcon.so
в ваш php.ini и перезапустить веб-сервер для загрузки расширения.
Можно создать небольшой скрипт в корне веб-сервера, следующего содержания:
и загрузить его в браузере. В появившемся результате, среди прочего, вы должны увидеть секцию Phalcon. Если такой секции нет, убедитесь в том, что модуль был скомпилирован правильно, вы сделали необходимые изменения в файле php.ini
, а также веб-сервер был перезагружен.
Также вы можете проверить вашу установку из командной строки:
php -r 'print_r(get_loaded_extensions());'
Это выведет что-то похожее на это:
Array
(
[0] => Core
[1] => libxml
[2] => filter
[3] => SPL
[4] => standard
[5] => phalcon
[6] => pdo_mysql
)
Также вы можете проверить установку модуля командой:
Обратите внимание, в большинстве Linux систем вы должны изменить два файла php.ini
. Один для веб-сервера (Apache/Nginx), другой — для CLI. Если вы столкнетесь с тем, что Phalcon загружается только для веб-сервера, вам нужно будет найти php.ini
относящийся к CLI и внести в него необходимые изменения, для загрузки модуля в консольном режиме.