Установка Phalcon

Phalcon - PHP фреймворк с открытым исходным кодом, написанный на Си. Основывается на идеях MVC (Model View Controller). В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.

Алгоритм по установке Phalcon

  • Шаг 1После создания технического домена (для примера мы создали phalcon-test.com), переходим в раздел Файловый менеджер через панель управления хостингом и добавляем новые директивы в файл .bash_profile в корне аккаунта (hostXXXXXXX/.bash_profile):

    alias php='/usr/local/php/php-7.0/bin/php'
    alias phpize='/usr/local/php/php-7.0/bin/phpize'
    alias php-config='/usr/local/php/php-7.0/bin/php-config'
    export PHPRC=/home/hostXXXXXXX/phalcon-test.com/htdocs/www/cgi-bin/php.ini

    Если Вы планируете использовать другую версию php, полный список интерпретаторов приведен здесь - просто замените php-7.0 на любую другую из списка (например, php-5.6 или php-7.2).

    После сохранения файла, переходим в раздел SSH и нажимаем Открыть SSH клиент (доступен только для оплаченных аккаунтов):

    source ~/.bash_profile

    Оставляем вкладку с Web SSH открытой для дальнейшей работы.

  • Шаг 2Подключаем php как cgi. Для этого в файловом менеджере перейдём в корневой каталог Вашего проекта (у нас это ~/phalcon-test.com/htdocs/www) и создадим в нём файл .htaccess:

    AddHandler php-cgi .php
    Action php-cgi /cgi-bin/php.fcgi

    В каталоге cgi-bin создаем файл php.fcgi следующего содержания:

    #!/bin/sh
    exec /usr/local/php/php-7.0/bin/php-cgi

    Назначаем данному файлу исполняемые права. Для этого нажимём правой кнопкой по файлу и выберем пункт "Изменить права доступа". Далее в поле "Разрешение" вводим 775.

    С помощью Web SSH скопируем файл php.ini

    cp /usr/local/php/php-7.0/lib/php.ini ~/phalcon-test.com/htdocs/www/cgi-bin/php.ini
  • Шаг 3Переходим к сборке бинарников. Для этого возвращаемся в домашний каталог:

    cd ~
    git clone https://github.com/jbboehr/php-psr
    cd php-psr
    phpize
    ./configure --with-php-config=/usr/local/php/php-7.0/bin/php-config
    make

    Переходим с помощью файлового менеджера в каталог ~/php-psr/modules и копируем файл psr.so в папку нашего сайта ~/phalcon-test.com/htdocs/www/cgi-bin/. В той же папке откроем файл php.ini и допишем в конце строчку:

    extension=/home/hostXXXXXXX/phalcon-test.com/htdocs/www/cgi-bin/psr.so

    Чтобы проверить, что всё подключилось, добавим файл index.php в корень проекта (~/phalcon-test.com/htdocs/www/) и добавим в него строчку:

    <?php phpinfo(); ?>

    Теперь можно открыть Ваш технический домен, где должен появиться раздел psr. Папку php-psr можно удалить - она больше не понадобится.

  • Шаг 4Собираем сам бинарник Phalcon:

    cd ~
    git clone https://github.com/phalcon/cphalcon --branch 3.3.x
    cd ./cphalcon/build
    ./install --phpize /usr/local/php/php-7.0/bin/phpize --php-config /usr/local/php/php-7.0/bin/php-config

    Далее с помощью файлового менеджера скопируем файл phalcon.so из каталога ~/cphalcon/build/php7/64bits/modules/ в папку нашего проекта ~/phalcon-test.com/htdocs/www/cgi-bin/ и добавим новую строчку в конец файла php.ini:

    extension=/home/hostXXXXXXX/phalcon-test.com/htdocs/www/cgi-bin/phalcon.so
  • Шаг 5Ставим сам фреймворк. Для этого в корне проекта (~/phalcon-test.com/htdocs/www/) создадим файл composer.json со следующим содержимым:

    {
        "require-dev": {
        },
        "require": {
            "phalcon/devtools": "~3.3"
        }
    }
    

    И запускаем команду в Web SSH:

    /usr/local/php/php-7.0/bin/php -c ~/phalcon-test.com/htdocs/www/cgi-bin/php.ini  ~/composer.phar require "phalcon/devtools "~3.3"

    После установки Phalcon добавим новый alias:

    echo "alias phalcon='php ~/phalcon-test.com/htdocs/www/vendor/phalcon/devtools/phalcon.php'" >> ~/.bashrc
    source ~/.bashrc

    Перейдём в корень приложения и добавим новый проект:

    cd ~/phalcon-test.com/htdocs/www
    phalcon create-project example

    Открываем Ваш сайт с добавлением /example, например site-name/example - если Вы всё сделали верно, то увидите стартовую страницу по-умолчанию:

    Стартовая страница Phalcon

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».