Ошибки node.js после установки Laravel

Если после установки Laravel вы получили кучу ошибок связанных с js, нужно сделать следующее:

Удалите файл package-lock.json и содержимое папки node_modules из своего проекта Laravel.

Затем очищаем кэш npm

npm cache clean --force

Затем по новой делаем

npm install

и

npm run dev

Как узнать оставшееся дисковое пространство на сервере Ubuntu

 Для того, чтобы узнать, сколько у вас осталось свободного места на сервере, есть простая команда

df -h

Пример вывода информации после команды df -h

опция -h используется чтобы сделать информацию более читаемой. Так как изначально это команда показывает все данные в байтах.

Как узнать пароль root пользователя mysql с помощью IspManager

Чтобы узнать пароль root пользователя для mysql в панели управления ispmanager. Перейдите в раздел «Настройки», подраздел «Серверы баз данных» и в поле Пароль, нажмите на значок «Показать пароль»

 

Перенос ispmanager на новый сервер Ubuntu

Если вы переносите ispmanager на новый сервер, на забудьте поменять настройки сети в файле:

/etc/network/interfaces

IP-адрес нового сервера — xx.xxx.xxx.xx (+ xxxx:xxxx:xxxx:xx:x:xx:x:xxx)

Маска — xxx.xxx.xxx.x

gateway — xx.xxx.xxx.x

*x поменяйте на свои значения

Как выйти из командной строки mysql

Пользователи часто сталкиваются с тем что не могут выйти из режима командной строки mysql. Стандартные команды не помогают:

exit

CtrlC

CtrlD

quit

Ctrl

CtrlZ

bye

Выход можно осуществить по:

Ctrl+Shift+D

PhpMyadmin ошибка авторизации: Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.

При обновлении phpmyadmin можно столкнуться с ошибкой авторизации

Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.

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

Я решил проблему на своем сервере следующим образом

Переходим в папку phpmyadmin на сервере:

cd /usr/share/phpmyadmin

Открываем для редактирования файл конфигурации

vi config.inc.php

После строки $cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’; добавляем строки

$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'yourpassword';

Далее, если вы пользуетесь ispmanager или подобной панелью, можно заменить:

$cfg['PmaAbsoluteUri'] = 'http://'.$_SERVER["HTTP_HOST"].'/myadmin/';

на

$cfg['PmaAbsoluteUri'] = 'http://'.$_SERVER["HTTP_HOST"].'/phpmyadmin/';

Перезагружаем сервер

/etc/init.d/apache2 restart

Заходим в панель phpmyadmin

Консоль Ubuntu для веб разработчика

Перемещение по файловой системе выполняется командой cd

cd etc/

просмотр содержимого каталога выполняется командой ls

ls

просмотр содержимого файла выполняется командой nl

nl apache2.conf

Переименование файла выполняется командой mv. (По сути эта команда выполняет перемещение файла)

mv apache2.conf apache2.conf.system-old

Копирование файла команда cp

cp

Создание каталога команда mkdir

mkdir

Редактор vi

Редактировать файлы будем с помощью vi

vi file.name

чтобы войти в режим редактирования текста нажмем i

выход из режима редактирования ESC

Сохранить изменения и выйти :wq

Выход без сохранения :q!

Редактор Nano

nano file.name

Выйти и сохранить

Ctrl-x затем Y затем Enter

Выделить и удалить несколько строк в редактируемом файле

Alt-A устанавливает метку, далее мотаем курсором, чтобы выделить нужный фрагмент. Затем жмем Ctrl-K чтобы удалить выделенное.

Как найти папку или файл по имени?

find / -type d -name 'foldernames'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type d — искать только папки

-name 'workers' — в данном случае точное совпадение с workers

Как найти файл по части имени?

find / -type f -name '*filenames'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type f — искать только файлы

-name '*filenames' — в данном случае все, что заканчивается на «filenames»

Веб-сервер Apache

Рестарт сервера

/etc/init.d/apache2 restart

Веб-сервер Enginx

Рестарт сервера

/etc/init.d/nginx restart

PHP строгая типизация

В php функциях лучше избегать ситуаций когда функция принимает не пойми что, и возвращает не пойми что. Поэтому мы будем использовать строгую типизацию. К примеру у нас есть функция проверяющая какой-то id:

function checkId(string $id) : bool {...

мы явно задаем, что входной параметр у нас имеет тип string. А возвращает функция данные типа bool.

Аутентификация Laravel

Laravel содержит в себе практически готовую систему аутентификации. Развернуть ее можно командой:

php artisan make:auth

Эта команда сформирует шаблоны (view) для аутентификации. Они распологаются в папке auth. А также специальные контроллеры, которые содержатся в папке Auth, в разделе контроллеров.

Шаблоны аутентификации

login.blade.php — отвечает за отображение формы ввода пароля и логина

register.blade.php — отвечает за отображение формы регистрации.

password\reset.blade.php — страница сброса пароля

Как закрыть доступ к определенному разделу сайта?

Для того, чтобы дать доступ только зарегистрированным пользователям, нужно в маршрут добавить посредник ‘middleware’=>[‘web’,’auth’]

группа посредников web перед auth нужна для запуска механизма сессий, перед запуском механизма аутентификации (auth). Напомню, что посредники передают управление по цепочке. То есть сначала отработает посредник web. А затем он передаст управление посреднику auth.

Продолжим. К примеру мы хотим закрыть доступ в раздел profile. В маршруте этого раздела укажем:

Route::group(['prefix'=>'profile', 'middleware'=>['web','auth']], function() {...

MySql заполнение столбца таблицы данными из другой таблицы

Если вам нужен пример запроса то вот он:

UPDATE table_1, table_2
SET table_1.data_1 = table_2.date_2
WHERE table_1.data_1_1 = table_2.data_2_2

А теперь немного пояснения. В блоке UPDATE мы указываем название обеих таблиц. В блоке SET мы указываем в какое поле таблицы.1 мы будем записывать данные из таблицы.2 (и указываем из какого поля). В блоке WHERE мы указываем какие данные из какие данные из таблицы.1 должны соответствовать данным из таблицы.2