Этот быстрый совет покажет вам, как установить Phalcon на экземпляр Homestead Improved , и поможет вам запустить пример приложения Phalcon.
Версия Phalcon, которую мы будем использовать в этом кратком совете, будет 2.0 — предварительная версия. Если вы читаете это, когда Phalcon уже находится на стадии зрелой версии 2.x, дайте нам знать, и мы обновим пост. Чтобы установить стабильную версию 1.x, просто запустите sudo apt-get install php5-phalcon
и она должна работать.
Шаг 1: Привет
Получить HI (Homestead Improved) и запустить с помощью этого быстрого совета .
Добавьте еще один сайт в конфигурацию vhost, чтобы ваш блок сайтов выглядел следующим образом:
sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public - map: test.app to: /home/vagrant/Code/phalcon_sample/public
Шаг 2: Установите Zephir
Зефир — это язык, на котором держится новый Фалькон. Вместо того, чтобы писать на C, Phalcon 2 написан на языке-посреднике Zephir, предназначенном исключительно для создания расширений PHP. Узнайте больше об этом здесь .
sudo apt-get update sudo apt-get install gcc make re2c libpcre3-dev cd ~/Code git clone https://github.com/json-c/json-c.git cd json-c sh autogen.sh ./configure make && sudo make install git clone https://github.com/phalcon/zephir cd zephir ./install -c
Шаг 3: Установите расширение
Если виртуальная машина еще не запущена, запустите vagrant up
, затем войдите в нее через vagrant ssh
.
cd ~/Code git clone http://github.com/phalcon/cphalcon cd cphalcon git checkout 2.0.0 zephir build
Это устанавливает расширение. Вам все еще нужно активировать его, включив в файл php.ini
.
sudo su echo "extension=phalcon.so" >> /etc/php5/fpm/conf.d/20-phalcon.ini echo "extension=phalcon.so" >> /etc/php5/cli/conf.d/20-phalcon.ini exit
Давайте проверим, правильно ли он установлен. Перезапустите nginx и php5-fpm. Запустите php -i | grep Phalcon
php -i | grep Phalcon
. Если вы получили какой-либо вывод (например, «Author => Phalcon Team»), установка прошла успешно.
Шаг 4. Установите образец сайта
Мы будем использовать домашнюю страницу Phalcon в качестве примера сайта.
cd ~/Code git clone https://github.com/phalcon/website phalcon_sample
Откройте /app/var/config/config.php
и измените baseurl
на /
и debug
на 1
. BaseURL настроен неправильно по неизвестной причине, в то время как отладку необходимо активировать для деактивации компонента кэширования, который в настоящее время испытывает проблемы с нормальной работой. Это будет исправлено в будущем, поэтому, если вы читаете это в любое время после августа 2014 года, попробуйте его с настройками по умолчанию.
Шаг 5: Измените конфигурацию Nginx
Конфигурация Nginx в Phalcon несколько сомнительна, поэтому требуется некоторая настройка. Просто замените содержимое /etc/nginx/sites-available/test.app
(или x.app, где x — это имя вашего виртуального хоста, определенного в Homestead.yaml) следующим:
server { listen 80; server_name test.app; set $root_path '/home/vagrant/Code/phalcon_sample/public'; root $root_path; index index.php index.html index.htm; try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php?_url=/$1; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } access_log off; error_log /var/log/nginx/test.app-error.log error; error_page 404 /index.php; sendfile off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { root $root_path; } location ~ /\.ht { deny all; } }
Сохраните, выйдите и перезапустите Nginx с помощью sudo service nginx restart
.
Шаг 6: отключить XDebug [необязательно]
Если вы получаете ошибку 502 при запуске приложения после шага 5, все еще остается выдающаяся ошибка с Xdebug, которая не позволяет Phalcon 2 работать должным образом. Он находится в стадии разработки и означает, что он будет решен в ближайшее время, но в то же время, просто зайдя в /etc/php5/mods-available/xdebug.ini
и /etc/php5/mods-available/xdebug.ini
содержимое, затем перезапустив с помощью sudo service php5-fpm restart
должен решить вещи для тебя.
Завершение
Вот и все. Теперь вы можете посетить сайт в браузере своего хоста, запустив http://test.app:8000
(или любой другой URL-адрес виртуального хоста, который вы определили, если вы не использовали test.app
как я делал выше.
Не стесняйтесь начинать взламывать и экспериментировать с кодами Zephir и Phalcon 2.0 прямо сейчас!