Π Π°Π·Π½ΠΎΠ΅

Php ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ: PHP: Установка ΠΈ настройка — Manual

21.04.2023
php[.0-9]{3}$’

Установка выполняСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

apt install php

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Установка ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ вСрсии

Если Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° вСрсия PHP, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, выполняСм установку Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ β€” для этого Π²Π²ΠΎΠ΄ΠΈΠΌ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

apt install software-properties-common

add-apt-repository ppa:ondrej/php

Если ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ:


FileNotFoundError: [Errno 2] No such file or directory: ‘gpg’

УстанавливаСм gnupg-agent:

aptΒ install gnupg-agent

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°:

apt-get install php7.4

apt-get install php8.0

* Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅Β 7.4 ΠΈ 8.

Π’Ρ‹Π±ΠΎΡ€ вСрсии PHP ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽΒ php, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

php -v

Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

update-alternatives —config php

There are 2 choices for the alternative php (providing /usr/bin/php).

Β  Selection Β  Β Path Β  Β  Β  Β  Β  Β  Priority Β  Status
————————————————————
* 0 Β  Β  Β  Β  Β  Β /usr/bin/php8.0 Β  80 Β  Β  Β  Β auto mode
Β  1 Β  Β  Β  Β  Β  Β /usr/bin/php7.4 Β  74 Β  Β  Β  Β manual mode
Β  2 Β  Β  Β  Β  Β  Β /usr/bin/php8.0 Β  80 Β  Β  Β  Β manual mode

* Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вСрсия php8 ΠΊΠ°ΠΊ вСрсия ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Для смСны, систСма ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π½Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· списка:

Press <enter> to keep the current choice[*], or type selection number: 1

* Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ Π½Π°Β php7.4.

Установка Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ с синтаксисом:

apt install php<вСрсия>-<Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅>

Для вСрсии, которая ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, установку ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

apt install php-mysqli

Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ:

apt install php7.4-mysqli

Настройка PHP

Π’ Ubuntu настройки PHP находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… β€” для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ систСмы, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы.

НапримСр, для php вСрсии 8.0, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚:

vi /etc/php/8.0/cli/php.ini

для apache:

vi /etc/php/8.0/apache2/php.ini

для fpm:

vi /etc/php/8.0/fpm/php.ini

Π‘Ρ‹Π»Π° Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π° Π²Π°ΠΌ эта инструкция?

Да            НСт

Установка Linux, Apache, MySQL, PHP (LAMP)

ΠŸΠ΅Ρ€Π΅Π΄ установкой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² рСпозиториях ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

root@i:~# apt update - для ОБ Debian,
root@i:~# yum makecache - для ОБ CentOS

ПослС этого приступайтС ΠΊ установкС Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ПО.

Apache

ОБ Debian

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ установку Apache Prefork ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

root@i:~# apt install apache2

Apache Worker ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

root@i:~# apt install apache2-mpm-worker

Apache ITK ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

root@i:~# apt install apache2-mpm-itk
ОБ CentOS

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ установку Apache Prefork ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

root@i:~# yum install httpd

Для обновлСния вСрсии Apache Π΄ΠΎ Worker остановитС Π²Π΅Π±-сСрвСр ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

systemctl stop httpd

Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ для рСдактирования Ρ„Π°ΠΉΠ» Β /etc/sysconfig/httpd ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки HTTPD=/usr/sbin/httpd.

worker. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² этот Ρ„Π°ΠΉΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки, Ссли ΠΈΡ… Π½Π΅Ρ‚:

<IfModule worker.c>
StartServers       6
MinSpareServers    6
MaxSpareServers   15
ServerLimit      156
MaxClients       156
MaxRequestsPerChild  3000
</IfModule>

ЗначСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² установитС Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ для вас Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ.

Для обновлСния вСрсии Apache Π΄ΠΎ ITK Β ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки HTTPD=/usr/sbin/httpd.itk. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² этот Ρ„Π°ΠΉΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки, Ссли ΠΈΡ… Π½Π΅Ρ‚:

<IfModule itk.c>
StartServers       6
MinSpareServers    6
MaxSpareServers   15
ServerLimit      156
MaxClients       156
MaxRequestsPerChild  3000
</IfModule>

ЗначСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² установитС Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ для вас Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ.

MySQL

ОБ Debian

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ установку сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

root@i:~# apt install mysql-server mysql-client

Π’ΠΎ врСмя установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root MySQL сСрвСра. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ слоТныС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΈ строчныС Π±ΡƒΠΊΠ²Ρ‹, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ слуТСбныС символы.

ОБ CentOS

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ установку сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

root@i:~# yum install mariadb mariadb-server

Когда Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ установка, запуститС MySQL ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

root@i:~# systemctl start mysql && systemctl enable mysql

ΠΈ смСнитС ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

root@i:~# /usr/bin/mysqladmin -u root password 'mynewpassword'

PHP

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ основныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Apache.

ОБ Debian

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ какая вСрсия php доступна для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

apt show php

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это php 7.4

УстановитС PHP, ΡƒΠΊΠ°Π·Π°Π² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Π°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

root@i:~# apt install php7.4 php7.4-mysql
ОБ CentOS

Для установки PHP Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

root@i:~# yum install php php-mysql

Π‘Π°ΠΉΡ‚

ОБ Debian

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ добавляСмого Π΄ΠΎΠΌΠ΅Π½Π° создайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ этого Π΄ΠΎΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

touch /etc/apache2/sites-enabled/mydomain.
com гдС mydomain - имя вашСго домСна.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ для рСдактирования Π»ΡŽΠ±Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ΅ΠΊΡ†ΠΈΡŽ:

<VirtualHost 1.0.0.1:80 >
      ServerName mydomain.com
      ServerAlias www.mydomain.com
      DocumentRoot /var/www/sites/mydomain.com
      CustomLog /var/www/httpd-logs/mydomain.com.access.log combined
      ErrorLog /var/www/httpd-logs/mydomain.com.error.log
      AddType application/x-httpd-php .php
</VirtualHost>
Π³Π΄Π΅ 1.0.0.1 - IP-адрСс сСрвСра, mydomain.com - ваш Π΄ΠΎΠΌΠ΅Π½.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Π΅Π±-сСрвСра

systemctl reload apache2

Если для Ρ€Π°Π±ΠΎΡ‚Ρ‹ сайта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MySQL), ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ сСрвСру ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

mysql -u root -p

ΠΈ создайтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

create database db;

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

grant all privileges on mydb.* to 'myuser'@'localhost' identified by 'mypassword';
Π³Π΄Π΅ mydb - имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, myuser - имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, mypassword - ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. 

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для сайта ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ

mkdir /var/www/sites/
mkdir /var/www/sites/mydomain.com
chown -R www-data:www-data /var/www/sites/
mkdir /var/www/httpd-logs
touch /var/www/httpd-logs/mydomain.com.access.log
touch /var/www/httpd-logs/mydomain.com.error.log
chown -R www-data:www-data /var/www/httpd-logs

ΠŸΡ€ΠΈ нСобходимости установитС Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°ΠΌ CMS, пСрСйдя Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ сайта ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

cd /var/www/sites/mydomain.com

Для CMS Joomla скачайтС дистрибутив ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.zip

РаспакуйтС Π°Ρ€Ρ…ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

unzip Joomla_4.0.3-Stable-Full_Package.zip

ΠŸΡ€ΠΈ Π²Π΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ DNS Π²Ρ‹ смоТСтС Π·Π°ΠΉΡ‚ΠΈ Π½Π° ваш сайт ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ случаС — ΠΏΠΎ IP-адрСсу.

ОБ CentOS

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ добавляСмого Π΄ΠΎΠΌΠ΅Π½Π° создайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ этого Π΄ΠΎΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

touch /etc/httpd/sites-enabled/mydomain. com.conf
гдС mydomain - имя вашСго домСна.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ для рСдактирования Π»ΡŽΠ±Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ΅ΠΊΡ†ΠΈΡŽ:

<VirtualHost 1.0.0.1:80 >
      ServerName mydomain.com
      ServerAlias www.mydomain.com
      DocumentRoot /var/www/sites/mydomain.com
      CustomLog /var/www/httpd-logs/mydomain.com.access.log combined
      ErrorLog /var/www/httpd-logs/mydomain.com.error.log
      AddType application/x-httpd-php .php
</VirtualHost>
Π³Π΄Π΅ 1.0.0.1 - IP-адрСс сСрвСра, mydomain.com - ваш Π΄ΠΎΠΌΠ΅Π½.

Если для Ρ€Π°Π±ΠΎΡ‚Ρ‹ сайта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MySQL), ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ сСрвСру ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

mysql -u root -p

ΠΈ создайтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

create database db;

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

grant all privileges on mydb.* to 'myuser'@'localhost' identified by 'mypassword';
Π³Π΄Π΅ mydb - имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, myuser - имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, mypassword - ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для сайта ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ

mkdir /var/www/sites/
mkdir /var/www/sites/mydomain.
com chown -R apache:apache /var/www/sites/ mkdir /var/www/httpd-logs touch /var/www/httpd-logs/mydomain.com.access.log touch /var/www/httpd-logs/mydomain.com.error.log chown -R apache:apache /var/www/httpd-logs

ΠŸΡ€ΠΈ нСобходимости установитС Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°ΠΌ CMS, пСрСйдя Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ сайта ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

cd /var/www/sites/mydomain.com

Для CMS Joomla скачайтС дистрибутив ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.zip

РаспакуйтС Π°Ρ€Ρ…ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Joomla_4.0.3-Stable-Full_Package.zip

ΠŸΡ€ΠΈ Π²Π΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ DNS Π²Ρ‹ смоТСтС Π·Π°ΠΉΡ‚ΠΈ Π½Π° ваш сайт ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ случаС — ΠΏΠΎ IP-адрСсу.

Установка — Laravel — PHP Framework для Π²Π΅Π±-мастСров

ВСрсия

Master10.x9.x8.x7.x6.x5.85.75.65.55.45.35.25.15.04.2

  • ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π›Π°Ρ€Π°Π²Π΅Π»Π΅ΠΌ
    • ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π›Π°Ρ€Π°Π²Π΅Π»ΡŒ?
  • Π’Π°Ρˆ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel
  • Π›Π°Ρ€Π°Π²Π΅Π»ΡŒ ΠΈ Π”ΠΎΠΊΠ΅Ρ€
    • Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° macOS
    • Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Windows
    • Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Linux
    • Π’Ρ‹Π±ΠΎΡ€ Π²Π°ΡˆΠΈΡ… парусных услуг
  • ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ конфигурация
    • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° основС срСды
    • Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ
  • Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги
    • Laravel Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стСка
    • Laravel БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ API

Π—Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Laravel

Laravel β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ элСгантным синтаксисом. Π’Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ обСспСчиваСт структуру ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ для создания вашСго прилоТСния, позволяя Π²Π°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° создании Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ дСталями.

Laravel стрСмится ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, прСдоставляя ΠΌΠΎΡ‰Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ задания, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠΌ Π² Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… PHP ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΉ ΠΎΠΏΡ‹Ρ‚, Laravel β€” это Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ расти вмСстС с Π²Π°ΠΌΠΈ. ΠœΡ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги Π² качСствС Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠΌ вас, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ‚Π΅ свой ΠΎΠΏΡ‹Ρ‚ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Нам Π½Π΅ тСрпится ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ построитС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Новичок Π² Laravel? ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ Laravel Bootcamp для практичСского ознакомлСния с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ вас с созданиСм вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния Laravel.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Laravel?

БущСствуСт мноТСство инструмСнтов ΠΈ срСд, доступных Π²Π°ΠΌ ΠΏΡ€ΠΈ создании Π²Π΅Π±-прилоТСния. Однако ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Laravel β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для создания соврСмСнных ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΠ²Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ

Нам нравится Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Laravel «прогрСссивным» Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Под этим ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Laravel растСт вмСстС с Π²Π°ΠΌΠΈ. Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, руководств ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΎΠ² Laravel ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ основы, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°ΡΡΡŒ.

Если Π²Ρ‹ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Laravel прСдоставит Π²Π°ΠΌ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ инструмСнты для внСдрСния зависимостСй, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования, ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, событий Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Laravel Ρ‚ΠΎΡ‡Π½ΠΎ настроСн для создания ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ.

ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Laravel нСвСроятно ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ. Благодаря ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Ρƒ PHP ΠΈ встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Laravel для быстрых распрСдСлСнных систСм ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Redis, Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Laravel ΠΎΡ‡Π΅Π½ΡŒ просто. ЀактичСски, прилоТСния Laravel Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сотСн ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² запросов Π² мСсяц.

ВрСбуСтся ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅? Π’Π°ΠΊΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠ°ΠΊ Laravel Vapor, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel практичСски Π² Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ Π½Π° новСйшСй бСссСрвСрной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AWS.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ сообщСства

Laravel сочСтаСт Π² сСбС Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² экосистСмС PHP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ самый Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° внСсли свой Π²ΠΊΠ»Π°Π΄ тысячи Ρ‚Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² со всСго ΠΌΠΈΡ€Π°. ΠšΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ Π΄Π°ΠΆΠ΅ станСтС участником Laravel.

Π’Π°Ρˆ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ установлСны PHP ΠΈ Composer. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π° macOS, PHP ΠΈ Composer ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Homebrew. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Node ΠΈ NPM.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ установили PHP ΠΈ Composer, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Composer create-project :

 

composer create-project laravel/laravel example-app

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Laravel, глобально установив установщик Laravel Ρ‡Π΅Ρ€Π΅Π· Composer:

 

composer global require laravel/installer

Β 

laravel new example-app

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel’s start Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с использованиСм интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Laravel Artisan serve ΠΊΠΎΠΌΠ°Π½Π΄Π°:

 

cd example-app

Β 

php artisan serve

0083 http://Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ хост:8000 . Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги Π² экосистСмС Laravel. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСимущСство ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ своСго прилоТСния Laravel, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½Π°ΡˆΠΈΡ… стартовых Π½Π°Π±ΠΎΡ€ΠΎΠ². Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Laravel ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ основу Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° бэкСндС ΠΈ внСшнСм интСрфСйсС для вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Laravel.

Laravel & Docker

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Laravel Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, нСзависимо ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сущСствуСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π₯отя Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΠ·ΠΆΠ΅, Laravel прСдоставляСт Sail, встроСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для запуска вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Docker.

Docker β€” это инструмСнт для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ слуТб Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Π»Π΅Π³ΠΊΠΈΡ… Β«ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ установлСнному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСго локального ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ настройкС ΠΈΠ»ΠΈ настройкС слоТных инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвСры ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Для Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ всСго лишь ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Docker Desktop.

Laravel Sail β€” это ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹ΠΉ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для взаимодСйствия с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Laravel Docker ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Sail обСспСчиваСт ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ для создания прилоТСния Laravel с использованиСм PHP, MySQL ΠΈ Redis, Π½Π΅ трСбуя ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Docker.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Π£ΠΆΠ΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ экспСртом ΠΏΠΎ Docker? НС волнуйся! ВсС, Ρ‡Ρ‚ΠΎ касаСтся Sail, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»Π° docker-compose.yml , входящСго Π² состав Laravel.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² macOS

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π° Mac ΠΈ Docker Desktop ΡƒΠΆΠ΅ установлСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«example-appΒ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

 

curl -s "https://laravel. build/example-app" | bash

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Β«example-appΒ» Π² этом URL-адрСсС Π½Π° Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” просто ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ имя прилоТСния содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы, дСфисы ΠΈ символы подчСркивания. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния Laravel Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ выполняСтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Установка Sail ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Sail ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Laravel Sail. Laravel Sail прСдоставляСт простой интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для взаимодСйствия с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Docker ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Laravel:

 

cd example-app

Β 

./vendor/bin/sail up

ПослС запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ адрСсу: http://localhost.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Laravel Sail, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Windows

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ создадим Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Windows, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ установитС Docker Desktop. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ подсистСма Windows для Linux 2 (WSL2) установлСна ​​и Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°. WSL позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Linux ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² Windows 10. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ WSL2, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Microsoft.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
ПослС установки ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ WSL2 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Docker Desktop настроСн Π½Π° использованиС сСрвСрной части WSL2.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel. ЗапуститС Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» Windows ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ сСанс Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы WSL2 Linux. Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«example-appΒ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

 

curl -s https://laravel. build/example-app | bash

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Β«example-appΒ» Π² этом URL-адрСсС Π½Π° Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” просто ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ имя прилоТСния содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы, дСфисы ΠΈ символы подчСркивания. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния Laravel Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ выполняСтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Установка Sail ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Sail ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Laravel Sail. Laravel Sail прСдоставляСт простой интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для взаимодСйствия с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Docker ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Laravel:

 

cd example-app

Β 

./vendor/bin/sail up

ПослС запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ адрСсу: http://localhost.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Laravel Sail, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² WSL2

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Laravel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы Π² вашСй установкС WSL2. Для этого ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Microsoft Visual Studio Code ΠΈ ΠΈΡ… собствСнноС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ПослС установки этих инструмСнтов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ любой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠ΄ . ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° вашСго прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Windows.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Linux

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π² Linux ΠΈ Docker Compose ΡƒΠΆΠ΅ установлСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Laravel. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«example-appΒ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

 

curl -s https://laravel.build/example-app | bash

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Β«example-appΒ» Π² этом URL-адрСсС Π½Π° Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” просто ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ имя прилоТСния содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы, дСфисы ΠΈ символы подчСркивания. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния Laravel Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ выполняСтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Установка Sail ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Sail ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Laravel Sail. Laravel Sail прСдоставляСт простой интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для взаимодСйствия с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Docker ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Laravel:

 

cd example-app

Β 

./vendor/bin/sail up

ПослС запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ адрСсу: http://localhost.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Laravel Sail, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Π’Ρ‹Π±ΠΎΡ€ сСрвисов Sail

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Laravel Ρ‡Π΅Ρ€Π΅Π· Sail Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с строковая пСрСмСнная запроса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ слуТбы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ настроСны Π² Ρ„Π°ΠΉΠ»Π΅ docker-compose. yml вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния. Available services include mysql , pgsql , mariadb , redis , memcached , meilisearch , minio , selenium , and mailpit :

  

curl -s "https:/ /laravel.build/example-app?with=mysql,redis" | bash

Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ слуТбы Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, стСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ· mysql , redis , meilisearch , mailpit ΠΈ selenium Π±ΡƒΠ΄ΡƒΡ‚ настроСны.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Sail ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Devcontainer ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ devcontainer ΠΊ URL-адрСсу:

 

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ конфигурация

ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Laravel хранятся Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, поэтому Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с доступными Π²Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

Laravel ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅! Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ» config/app.php ΠΈ Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Он содСрТит нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ часовой пояс ΠΈ языковой стандарт , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² соотвСтствии с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° основС срСды

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Laravel ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Π½Π° производствСнном Π²Π΅Π±-сСрвСрС, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ значСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с использованиСм Ρ„Π°ΠΉΠ»Π° .env , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сущСствуСт ΠΏΠΎ адрСсу ΠΊΠΎΡ€Π΅Π½ΡŒ вашСго прилоТСния.

Π’Π°Ρˆ Ρ„Π°ΠΉΠ» .env Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ зафиксирован Π² систСмС контроля вСрсий вашСго прилоТСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ/сСрвСру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ своя конфигурация срСды. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ бСзопасности Π² случаС, Ссли Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ систСмы управлСния вСрсиями, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ раскрыты.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π΅ .env ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° основС срСды ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создали своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel, Π²Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ .env вашСго прилоТСния ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Laravel Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² 127.0.0.1 . Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π° macOS ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ MySQL, Postgres ΠΈΠ»ΠΈ Redis локально, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DBngin.

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ MySQL ΠΈΠ»ΠΈ Postgres Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite. SQLite β€” это нСбольшой, быстрый, Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Для Π½Π°Ρ‡Π°Π»Π° создайтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite, создав пустой Ρ„Π°ΠΉΠ» SQLite. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, этот Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния Laravel:

 

touch database/database.sqlite

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ .env , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Laravel sqlite . You may remove the other database configuration options:

  

DB_CONNECTION=sqlite

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=laravel

DB_USERNAME=root

DB_PASSWORD=

Once Π²Ρ‹ настроили свою Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния, которая создаст Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния:

 

php artisan migrate

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создали свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Laravel, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ дальшС. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Laravel, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ:

  • Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» запроса
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²
  • Π’Π½Π΅ΡˆΠ½ΠΈΠΉ интСрфСйс
  • БСрвисный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  • Ѐасады

Π’ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги Π² вашСм ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ. БущСствуСт мноТСство способов использования Laravel, ΠΈ Π½ΠΈΠΆΠ΅ ΠΌΡ‹ рассмотрим Π΄Π²Π° основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Новичок Π² Laravel? ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ Laravel Bootcamp для практичСского ознакомлСния с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ вас с созданиСм вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния Laravel.

Laravel Полная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° стСка

Laravel ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ стСка. Под Β«ΠΏΠΎΠ»Π½Ρ‹ΠΌ стСком» ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ запросов ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° внСшнСго интСрфСйса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблонов Blade ΠΈΠ»ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ одностраничных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Inertia. Π­Ρ‚ΠΎ самый распространСнный способ использования Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Laravel ΠΈ, Π½Π° наш взгляд, самый ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ способ использования Laravel.

Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с нашСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ внСшнСго интСрфСйса, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, прСдставлСниям ΠΈΠ»ΠΈ Eloquent ORM. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… сообщСства, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Livewire ΠΈ Inertia. Π­Ρ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel Π² качСствС ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ прСимущСствами ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, прСдоставляСмыми одностраничными прилоТСниями JavaScript.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Laravel Π² качСствС ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²Π°ΠΌ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript вашСго прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Vite.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСимущСство ΠΏΡ€ΠΈ создании своСго прилоТСния, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… стартовых Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Laravel БэкСнд API

Laravel Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ бэкСндом API для одностраничного ΠΈΠ»ΠΈ мобильного прилоТСния JavaScript. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel Π² качСствС сСрвСрной части API для своСго прилоТСния Next.js. Π’ этом контСкстС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel для обСспСчСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ хранСния/извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… для вашСго прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства ΠΌΠΎΡ‰Π½Ρ‹Ρ… сСрвисов Laravel, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, элСктронныС письма, увСдомлСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Laravel ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с нашСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Laravel Sanctum ΠΈ Eloquent ORM.

Note
НуТна Ρ„ΠΎΡ€Π° для создания бэкСнда Laravel ΠΈ интСрфСйса Next.js? Laravel Breeze ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ стСк API, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ внСшнСго интСрфСйса Next.js, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° считанныС ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ gRPC для PHP | Google Cloud

gRPC β€” это соврСмСнная Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PHP для API с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ gRPC, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ gRPC для PHP. Π’ этом руководствС ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ gRPC.

Π¦Π΅Π»ΠΈ

  • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gRPC для PHP.
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gRPC для PHP.

ВрСбования

  • PHP 7.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • PECL (Ссли Π²Ρ‹ Π½Π΅ строитС ΠΈΠ· исходников)
  • ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Windows ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL ΠΎΡ‚ ΠŸΠ•ΠšΠ›.

Установка PECL

Ubuntu / Debian

 sudo apt-get install autoconf zlib1g-dev php-dev php-pear
 

ΠŸΡ€ΠΈ использовании PHP 7.4+ PHP Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн с вСрсиСй 9.0462 —с Π³Ρ€ΡƒΡˆΠ΅ΠΉ Ρ„Π»Π°Π³.

CentOS / RHEL 7

 sudo rpm -Uvh https://dl. fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
 sudo yum ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ php-devel php-pear gcc zlib-devel
 

macOS

 Π·Π°Π²ΠΈΡ‚ΠΎΠΊ -O https://pear.php.net/go-pear.phar
 sudo php -d detect_unicode = 0 go-pear.phar
 

Windows

Windows Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ PECL.

Установка Composer

Linux

 curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
 

macOS

 curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
 

Windows

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ инструкциям ΠΏΠΎ установкС Composer для Windows.

Установка Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ gRPC

ИспользованиС PECL

 sudo pecl install grpc
 

Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ устанавливаСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gRPC PHP Π² стандартный ΠΏΠ°ΠΊΠ΅Ρ‚ PHP. ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ CentOS/RHEL 6, ΠΊ соТалСнию, этот шаг Π½Π΅ сработаСт. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ инструкции Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· исходного ΠΊΠΎΠ΄Π° для компиляции Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈΠ· исходников.

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· исходного ΠΊΠΎΠ΄Π°

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этим инструкциям, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ gRPC ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP. ΠΈΠ· источника.

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ gRPC ΠΈΠ· GitHub.

    ΠΊΠ»ΠΎΠ½
     git https://github.com/grpc/grpc
     
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ установитС ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ gRPC C.

     ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диск grpc
    ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ подмодуля git --init
    Π΄Π΅Π»Π°Ρ‚ΡŒ
    судо ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚.
    Если Ρƒ вас Π΅ΡΡ‚ΡŒ git вСрсии 1.8.4 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ
    ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ `git submodule update --init`, Π΄ΠΎΠ±Π°Π²ΠΈΠ² `--depth=1`
    Ρ„Π»Π°Π³.
     
  3. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ PHP-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gRPC.

     ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диск src/php/ext/grpc
    phpize
    . /Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ
    Π΄Π΅Π»Π°Ρ‚ΡŒ
    судо ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
     

Windows

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Windows ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный gRPC нСпосрСдствСнно с Π‘Π°ΠΉΡ‚ ΠŸΠ•ΠšΠ›.

ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ PHP для установки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π² Windows.

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gRPC Π² php.ini

Linux/macOS

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту строку Π² любом мСстС Ρ„Π°ΠΉΠ»Π° php.ini , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/php7/cli/php.ini . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ этот Ρ„Π°ΠΉΠ», запустив php --ini .

 Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅=grpc.so
 

Windows

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту строку Π² любом мСстС Ρ„Π°ΠΉΠ»Π° php.ini , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C:\Program Files\PHP\7.3\php.ini 91,38 дюйма

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния protobuf

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния protobuf. API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ. РСализация C Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ PHP (собствСнная) рСализация, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ нативная рСализация устанавливаСтся ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ рСализация Π‘.

РСализация C

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ gRPC Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ protobuf C.

Linux/macOS

УстановитС protobuf.so Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PECL.

 sudo pecl ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ protobuf
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту строку Π² Ρ„Π°ΠΉΠ» php.ini , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/php5/cli/php.ini .

 Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ = protobuf.so
 

Окна

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированноС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ protobuf нСпосрСдствСнно с Π‘Π°ΠΉΡ‚ ΠŸΠ•ΠšΠ›.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту строку Π² Ρ„Π°ΠΉΠ» php.ini , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C:\Program Files\PHP\7.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *