Laravel – специфика при инсталиране

Laravel – специфика при инсталиране

Създаването на специализиран уеб сайт може да е сложно и времеемко занимание. Един от начините за ускоряване на този процес е използването на фреймуърк (framework) – Laravel, Symfony, CodeIgniter и др. Ускорението идва от многократното използване на компоненти и модули, както и от облекчаване на разработката с помощта на готовата и оптимизирана структура на кода. Използването на фреймуърк освен това улеснява скалируемостта и поддръжката на приложението, заради спазването на стандарти при разработката и поддържане на правилна организация на кода.

Като се спестяват време и усилия за създаването на базови компоненти за изпълнението на рутинни операции, разработчиците могат да се фокусират и да отделят повече време на специфичните задачи, които ще донесат уникална полезност на сайта. В света на PHP е налице голямо разнообразие от фрекмуърк предложения. Един от най-използваните е Laravel, на който е посветен този материал. Целта ни е да обърнем внимание на най-често срещаните затруднения при инсталирането и пускането на фреймуърка.

Laravel осигурява всички инструменти, необходими за изграждане на големи и надеждни приложения и се счита за една от най-популярните PHP рамки заедно със Symfony2, Nette, CodeIgniter и Yii2.

Laravel е PHP фреймуърк с отворен код, базиран на шаблона MVC ( model–view–controller), който дава възможност за разделяне на бизнес логиката от графичния интерфейс. Архитектурата разделя изходния код на три отделни части – модел, изглед и контролер, което позволява лесна модификация и структуриране на кода.

Инсталацията може да бъде направена по два начина – автоматично чрез Softaculous Apps Installer или ръчно.

Автоматична инсталация

Системата за автоматична инсталация на софтуерни приложения Softaculous ще откриете в секция Software на вашият cPanel контролен панел.

v1

При този вид инсталация потребителят има възможност да избере папката в която да се инсталира Laravel.

v3

Ръчна инсталация

Laravel може да се инсталира и с помощта на друг инструмент –  Composer. Това е инструмент за „dependency“ мениджмънт в PHP. Вие избирате библиотеките за вашия проект, а той ги инсталира / ъпдейтва / управлява вместо вас. Composer не е „package“ мениджър в смисъла, в който са Yum или Apt. Да, той може да управлява „packages“ и библиотеки, но управлението е на база проекти, инсталирайки ги в съответната за даден проект папка.

Алгоритъм за инсталация:

  • Осигурете си SSH достъп до вашия хостинг.  Ако използвате споделен хостинг, тази опция е налице без да правите каквото и да било. В Host.bg този достъп е безплатен за всички планове на споделен хостинг. Ако сте на виртуален или нает сървър ще трябва да си инсталирате SSH клиент. Ако използвате Unix или Linux базирана операционна система можете да се логнете в сървъра чрез Конзола/Терминал.
  •  Laravel и Composer изискват PHP версия 5.5. Можете да проверите версията на PHP с командата „php -v“ или да поискате тази информация от нашия съпорт екип.

 

5

Ако текущата версия е по-стара от 5.5 можете да смените версията от меню „PHP Selector“ в cPanel акаунта ви. В повечето случаи PHP 5.4 е инсталиран по подразбиране на всички cPanel хостинги.

5v

  • Следваща стъпка е настройката на php.ini файла, който се използва за конфигуриране на PHP, за да отговаря на всички изисквания за инсталация на Composer/Laravel. Посочените по-долу редове трябва да бъдат добавени към файла php.ini, намиращ се в директорията, в която искате да инсталирате фреймуърка. Алтернативно, можете да копирате файла за PHP 5.6 от дефолтната му локация на сървъра.

max_execution_time = 300
max_input_time = 300
memory_limit = 512M
suhosin.executor.include.whitelist = phar
detect_unicode = Off

  • За да създадете папката в която ще се инсталира Laravel и да копирате php.ini файла използвайте следната команда:

cd public_html && mkdir laravel_folder && cd laravel_folder

Трите команди в този команден ред са:

cd public_html – навигация към папка public_html;

mkdir laravel_folder – команда за създаване на нова папка laravel_folder;

cd laravel_folder – навигация към ново-създадената laravel_folder;

&& – се използва за комбинация на няколко различни команди в един ред;

Веднага след това трябва да копирате файла php.ini от папката в която е по подразбиране във вашата laravel папка със следната команда:

cp /opt/alt/php56/etc/php.ini /home/USERNAME/public_html/laravel_folder

Не забравяйте да замените „username“ с вашето актуално потребителско име за достъп до cPanel. В случай, че се наложи да използвате php.ini за друга версия на PHP, можете просто да смените стойностите в командния ред по-горе от 56 с 52 например.
След като php.ini файлът е в съответната директория, влезте в cPanel, отворете File Manager, отидете до директорията, която сте избрали за Laravel и отворете php.ini с Editor.

imageedit_3_3914296165

Добавете следния блок в края на файла и го запазете:

max_execution_time = 300
max_input_time = 300
memory_limit = 512M
suhosin.executor.include.whitelist = phar
detect_unicode = Off

composer-and-the-laravel-installer-large-2

  •  След като сте изпълнили всички стъпки до тук, сте готови за инсталацията на Composer, а след това и на Laravel. Отворете Terminal, ако работите с Linux или PuTTY, ако предпочитате Windows операционна система и изпълнете следната команда:

php -r „readfile(‘https://getcomposer.org/installer’);“ | php -c php.ini

Така ще инсталирате Composer:

В случай, че получите следното съобщение „Some settings on your machine make Composer unable to work properly“, уверете се отново, че използваната от вас PHP версия е 5.5 или по-нова и всички промени в php.ini файла са запазени. След успешната инсталация ще видите следното:

8

  • Остава инсталацията на Laravel. За тази цел е нужно да се изпълни следната команда:

php -c php.ini /home/username/composer.phar create-project laravel/laravel –prefer-dist

9

Ще видите как необходимите съпътстващи модули (dependencies) се инсталират. Имайте предвид, че инсталацията се прави в подпапка “Laravel”, вътре в папката, която сте избрали в началото.

10

Вече имате Laravel фреймуърк, готов за използване. Желаем ви успех. Ако този материал ви е бил полезен, споделете го с някой от социалните бутони по-долу, за да е полезен и на друг.

С какво още може да се сблъскате? Преместване на един сайт, изпълнен с Laravel на друг хостинг. Често това се оказва неудобна задача. Прoблeмът идва от необходимостта сайтът, Laravel и библиотеките да са в идентични папки, както на хостинга, от който се прави миграцията. Няма универсално правило за оживяване в този случай. Едно бързо решение е да се изпълни миграция на целия акаунт с помощта на осигурения от cPanel инструмент.

PHP 5.5.1 вече е на ваше разположение

php55

Host.bg добави поддръжка на най-новата стабилна версия на PHP – 5.5.1. Базовата версия от новото семейство – 5.5.0 излезе официално преди около месец, а на 18.07.2013 г. се появи стабилната версия 5.5.1. Освен стандартното почистване от бъгове и добавянето на някои подобрения, във версия 5.5.1 може да откриете някои съвсем нови функционалности: •Генератори – (generators). Генераторите позволяват писането на код, който използва конструкцията foreach() за обхождане на голямо количество данни в масив, без да е необходимо целия масив да се зарежда наведнъж в паметта. Така се избягва изчерпването на цялото количеството системна памет, или увеличеното време за обработка на данните. •Ключова дума „finally” Използва се при обработка на изключения с try/catch. Кодът написан във „finally” блок се изпълнява винаги, независимо от това дали е възникнало някакво изключение или не. Тази функционалност съществува в други езици за програмиране от доста време. •API за хеширане на пароли Осигурява лесна за използване обвивка около crypt() за създаване и управление на пароли. •Поддръжка на постоянен array/string dereferencing- Отделните елементи и символи на масиви и низове вече могат да бъдат достъпвани директно, например: <?php echo [1, 2, 3][0]; echo 'PHP'[0]; ?> •Използване на scalar class name resolution чрез ::class. Възможно е да се използва ClassName::class, за да получите пълното име на класа ClassName. •Поддръжка на функция empty() Функцията empty() вече може да се прилага и върху резултатите на извикани функции или изрази. •Поддръжка на non-scalar Iterator keys във foreach. Конструкцията foreach() сега поддържа ключове от всякакъв вид. Не-скаларни ключове няма в обикновените масиви в PHP, но е възможно Iterator::key() да върне стойност от всякакъв вид. •Поддръжка на функцията list() в конструкцията foreach(). Контролната структура foreach() в новата версия поддържа зареждане на елементите от многомерни масиви в отделни променливи чрез функцията list(). •Zend OPcache разширение за кеширане Zend Optimiser+ opcode cache е добавен към PHP като ново разширение OPcache. OPcache подобрява производителността, като съхранява PHP скриптовете във вид на прекомпилиран байткод в общата памет. По този начин не се налага PHP да зарежда и анализира скриптове при всяка заявка, което скъсява значително времето за нейното изпълнение. Версии 5.4 и 5.3 на PHP също са ъпдейтнати до техните последни стабилни разновидности PHP 5.4.17 (Old stable) и PHP 5.3.27 (Old stable). Клиентите на хостинг сървъри, които не поддържат тези версии могат да направят заявка от контролния панел на хостинга за преместване на сървър с включена поддръжка на последните версии.