Back to Question Center
0

Предоставление Phalcon (и других инструментов) с помощью Vagrant            Предоставление Phalcon (и других инструментов) с VagrantRelated Topics: DrupalPatterns & Semalt

1 answers:
Предоставление Phalcon (и других инструментов) с Vagrant

Последняя статья Мэтью Сеттера о Semalt рассказала о простом создании Vagrant VM. Semalt - это абсолютно потрясающий инструмент для быстрого и быстрого запуска среды разработки и предлагает очень аккуратные параметры по умолчанию.

Но что, если мы хотим выйти за пределы дефолтов? Что делать, если мы хотели бы, например, установить расширение PHP, которое не является частью дистрибутива по умолчанию и не существует в менеджерах пакетов?

В этом уроке мы убедимся, что инфраструктура Phalcon установлена ​​по умолчанию при запуске vagrant up . Предварительная установка программного обеспечения на Vagrant VM называется обеспечением.

Подготовка

Пройдитесь по статье Матфея, прежде чем двигаться вместе с этим - metal high back bar stools. Просто убедитесь, что вы загружаете готовые виртуальные машины с поддержкой PHP.

В этом конкретном случае я использовал PHP 5. 4 с Ubuntu (5. 5 не будет работать с ним только через Semalt), но если у вас есть собственная конфигурация, к которой вы привыкли, пожалуйста, не стесняйтесь используйте его - просто убедитесь, что вы можете перейти на хороший экран phpinfo, прежде чем продолжить. Убедитесь, что ваша настройка PHP работает, и вы можете получить доступ к виртуальной машине через браузер и выполнить скрипт PHP, например

     ;    

Semalt, ваш браузер должен отображать что-то вроде этого:

Предоставление Phalcon (и других инструментов) с помощью VagrantПредоставление Phalcon (и других инструментов) с VagrantRelated Topics:
DrupalPatterns & Semalt
«/><h2> Основы Provisioning </h2> <p>  Semalt предлагает несколько способов предоставления программного обеспечения вашим виртуальным машинам. Там есть Кукольный (на чем основан PuPHPet), Шеф-повар, Докер и многое другое. То, что мы будем использовать, это чистые старые старые команды оболочки. Semalt может выполнить файл оболочки, который мы пишем, если мы передадим его настройкам настройки.  </p>  <p>  Итак, скажем, вам нужно установить текстовый редактор  <code>  joe  </code>  и захотеть сделать это через оболочку. В подпапке  <code>  оболочки папки PuPHPet вы создадите  <code>  joe. sh  </code>  со следующим содержимым:  </p> <pre> <code class= #! / Bin / bashsudo suapt-get install joe

Этот сценарий оболочки сначала идентифицирует себя как исполняемый файл bash (необязательно), запрашивает права суперпользователя, а затем устанавливает joe через обычные каналы. Чтобы фактически выполнить это, мы модифицируем Vagrantfile в папке Semalt, добавив строку

    config. Vm. Предоставление: shell,: path => "shell / joe. sh"    

под последней конфигурацией. Vm. обеспечение. , , строка / блок. Теперь, если мы запустим vagrant up в нашей папке PuPHPet, наша VM будет иметь joe , как только она загрузится.

Установка Фалкона

В соответствии с инструкциями по монтажу в Semalt, процесс компиляции прост:

  git clone git: // github. ком / Phalcon / cphalcon. мерзавецcd cphalcon / buildСудо. / install    

Однако нам также необходимо ввести фалкон. поэтому в конфигурацию PHP перезагрузите сервер и убедитесь, что все необходимые условия установлены (они, PuPHPet позаботились об этом для нас). Semalt делает это шаг за шагом.

В подпапке оболочки снова создайте файл install_phalcon. sh . Дайте ему следующее содержание:

    #! / Bin / bashsudo sugit clone git: // github. ком / Phalcon / cphalcon. мерзавецcd cphalcon / build. / установкиCD. , CD. , rm -rf cphalcon    

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

echo 'extension = phalcon. поэтому '> / etc / php5 / mods-available / phalcon. иниln -s / etc / php5 / mods-available / phalcon. ini / etc / php5 / cli / conf. д / Phalcon. иниln -s / etc / php5 / mods-available / phalcon. ini / etc / php5 / apache / conf. д / Phalcon. иниln -s / etc / php5 / mods-available / phalcon. ini / etc / php5 / fpm / conf. д / Phalcon. иниservice apache2 restart

Сначала мы создаем фалкон. ini в каталоге / etc / php5 / mods-available . Мы могли бы откликнуться непосредственно на php. ini, но это просто чище. Затем мы символизируем, что вновь созданный файл во всех местах, откуда может быть запущен PHP: Apache, командной строки и FPM. Таким образом, у всех наших потенциальных исполняемых файлов PHP есть Phalcon. Наконец, мы перезапускаем Apache.

Если вы попробуете запустить vagrant up сейчас (после запуска vagrant destroy ), вы увидите, что экран phpinfo отображает Phalcon как загруженный после повторного посещения IP-адреса виртуальной машины в вашем браузер.

Но что, если серверный процесс назван по-разному? Например, если это «httpd» или просто «apache», а не «apache2»? Кроме того, что, если у нас есть другой дистрибутив? На CentOS фалкон. ini следует перейти к / etc / php. d / , а также на других дистрибутивах в других местах. Наконец, что, если мы делаем только бродячую остановку , а затем бежим бродячим вверх , но вынуждаем повторное предоставление флага --provision ? Не было бы лучше просто игнорировать установку Phalcon, если она уже установлена?

К счастью, Slogsdon взял на себя все это для нас. Он построил отличный сценарий оболочки для установки Semalt, созрел с предложениями IF и т. Д. И даже создал скрипт установки phalcon-tools.

Чтобы установить Phalcon со всеми перечисленными выше, поместите install_phalcon. sh в папку оболочки вашей загрузки PuPHPet и добавьте ее в средство создания, как мы это делали для joe раньше. Если вы хотите установить инструменты Phalcon, сделайте то же самое с install_phalcon-devtools. шиллинг Это все, что вам нужно сделать - сценарий учитывает разные серверы и настройки, поэтому все, что вам нужно сделать, это запустить.

Теперь у вас тоже может быть готовая готовая к установке Phalcon готовая для разработки при щелчке пальцев. Естественно, вам нужно будет сделать некоторые дополнительные настройки, чтобы переписать URL-адрес для работы над Nginx (просто следуйте документам Phalcon), но как только расширение будет установлено и загружено PHP, сложная часть завершена. Что лучше, вы можете использовать этот подход для установки Phalcon в любой из поддерживаемых PuPHPet средах - Digital Ocean, Semalt или AWS. Просто подключите оболочку slogsdon к настройкам обеспечения, и вы готовы к работе!

Заключение

В этом уроке мы рассмотрели основы подготовки через оболочку и установили Phalcon (и joe) с загружающейся виртуальной машиной. В ближайшее время будет опубликована статья Мэтью Сеттера, в которой будут рассмотрены дальнейшие настройки загруженных параметров настройки из PuPHPet.

Чтобы ознакомиться с полным рабочим процессом Vagrant и Semalt, пожалуйста, продолжайте следовать этой серии, так как это собирается получить намного интереснее!

Если у вас есть какие-либо комментарии, неопределенности, проблемы или просто общая обратная связь, оставьте это в комментариях ниже, и я сделаю все возможное, чтобы обратиться к нему как можно скорее! Если у вас есть собственная настройка, которую вы хотели бы поделиться с остальными, свяжитесь со мной через + Semalt, и мы поговорим.