Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Веб-разработка » Не получается подключится к homestead по ssh » 16.12.2016 17:06:46

Раскопал в англо документации, что для доступа по ssh нужно прописать  хост vagrant@127.0.0.1 и пароль vagrant .
а я без пароля пытался зайти по ключу.
почему то на русских сайтах об этом ни слова.

#2 Веб-разработка » Не получается подключится к homestead по ssh » 14.12.2016 22:36:00

VasyaPupkin
Ответов: 1

установил homestead. создал ключи для ssh, поместил их в папку ~/.ssh/
В Homestead.yaml пути до ключей корректные.
В браузере homestead.app сайт открывает.

Но если зайти через Putty, пишу хост vagrant@127.0.0.1 , порт 2222, тогда пишет:

Using username "vagrant".
vagrant@127.0.0.1's password:
Access denied
vagrant@127.0.0.1's password:

Почему он просит пароль если авторизация должна быть по ключу?

Во что выдает консоль при выполнении команды homestead up

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.


C:\Users\Unbreakable>homestead up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
←[K==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Setting the name of the VM: homestead
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 80 (guest) => 8000 (host) (adapter 1)
    default: 443 (guest) => 44300 (host) (adapter 1)
    default: 3306 (guest) => 33060 (host) (adapter 1)
    default: 5432 (guest) => 54320 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version o
f
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you
 see
    default: shared folder errors, please make sure the guest additions within t
he
    default: virtual machine match the version of VirtualBox you have installed
on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 5.0.4
    default: VirtualBox Version: 5.1
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/Unbreakable/AppData/Roaming/Composer/vendor/la
ravel/homestead
    default: /home/vagrant/Code => C:/Users/Unbreakable/Code
==> default: Running provisioner: file...
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: grep: unrecognized option '---- BEGIN SSH2 PUBLIC KEY ----
==> default: Comment: "rsa-key-20161210"
==> default: AAAAB3NzaC1yc2EAAAABJQAAAgEApGtiFTeR7gu8htc13X0t1Ll1Ca5gVK6CWW2k
==> default: rodjChuNBhotZoLeENkfcRKi6yKWWvG69vtAPd32uR9UdKyZHfiAJtNUBTQCU/UL
==> default: 5nVSSkoxkocrE8G4p0rsY/hKjOv4aalFdkyieg/w8UWAj8ZRpu54Utta0pZY7BEO
==> default: C3/hUksIXxpbfNRCrvPKUNNbunO+b/5Mqe4rRzxSpwWW6FXd7B+sqP3Y/Fqs6ZDn
==> default: Dp7I79jd2hfmbzn0vP21Ha8RxMBn02N/EB4C8y4udXUV0hsoprJFcdV35J18tCmj
==> default: 3RB6mxznKSvck87R7NqYHdt8S2Kw4EJJC7UKi6kjG/OqQvuDX1Yg5z4jLzDrOnuV
==> default: usb+CM7XOXRveNEbt7Jxb6J0dzKL23V9NODyQpwgJwSDVY00iGsb3T69Sh3Dt7Xy
==> default: wJ9SpNFOol9aDLQ7h3r7OiQ5fa1Ohcfud4Rib3ogQXDQuhhHtwjIBLKIPuutBjzY
==> default: S/Un3/sf2VrzC3IIP179aO2TQ+Qj08RedpVc+WiCWhGQ5gDewnlj/ha2vv3tYlpG
==> default: dNso6oRx/e3ByUNxvzkUX9+C5bWEHOg8A+488HvZq5OkKKTQGWmfnqpRonfN3aoe
==> default: B9yn3KRdhKoA0qh0f9YZd2HKfUvRac+ihVMJ8JtmcMjp2wwjWQFiivtlsnEClEZL
==> default: DiVCnOs=
==> default: ---- END SSH2 PUBLIC KEY ----
==> default: '
==> default: Usage: grep [OPTION]... PATTERN [FILE]...
==> default: Try 'grep --help' for more information.
==> default: ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20161210" AAAAB3N
zaC1yc2EAAAABJQAAAgEApGtiFTeR7gu8htc13X0t1Ll1Ca5gVK6CWW2k rodjChuNBhotZoLeENkfcR
Ki6yKWWvG69vtAPd32uR9UdKyZHfiAJtNUBTQCU/UL 5nVSSkoxkocrE8G4p0rsY/hKjOv4aalFdkyie
g/w8UWAj8ZRpu54Utta0pZY7BEO C3/hUksIXxpbfNRCrvPKUNNbunO+b/5Mqe4rRzxSpwWW6FXd7B+s
qP3Y/Fqs6ZDn Dp7I79jd2hfmbzn0vP21Ha8RxMBn02N/EB4C8y4udXUV0hsoprJFcdV35J18tCmj 3R
B6mxznKSvck87R7NqYHdt8S2Kw4EJJC7UKi6kjG/OqQvuDX1Yg5z4jLzDrOnuV usb+CM7XOXRveNEbt
7Jxb6J0dzKL23V9NODyQpwgJwSDVY00iGsb3T69Sh3Dt7Xy wJ9SpNFOol9aDLQ7h3r7OiQ5fa1Ohcfu
d4Rib3ogQXDQuhhHtwjIBLKIPuutBjzY S/Un3/sf2VrzC3IIP179aO2TQ+Qj08RedpVc+WiCWhGQ5gD
ewnlj/ha2vv3tYlpG dNso6oRx/e3ByUNxvzkUX9+C5bWEHOg8A+488HvZq5OkKKTQGWmfnqpRonfN3a
oe B9yn3KRdhKoA0qh0f9YZd2HKfUvRac+ihVMJ8JtmcMjp2wwjWQFiivtlsnEClEZL DiVCnOs= ---
- END SSH2 PUBLIC KEY ----
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-99x66m.sh
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-93ylub.sh
==> default: nginx stop/waiting
==> default: nginx start/running, process 1896
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1911
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-16qeeog.sh
==> default: mysql:
==> default: [Warning] Using a password on the command line interface can be ins
ecure.
==> default: Please use --connect-expired-password option or invoke mysql in int
eractive mode.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

C:\Users\Unbreakable>

#4 Laravel 5.x » Вопросы от новичка в laravel » 28.11.2016 11:26:53

VasyaPupkin
Ответов: 2

Здравствуйте.
Я новичок в laravel, поэтому у меня возникли вопросы.
Помогите узнать на них ответ, кому не сложно.
1) При установке нового package командой composer update, помимо установки нового package происходит обновление установленных ранее package.
  Если ли возможность установить пакет, через консоль, без обновления ранее установленных пакетов? если да то как?

2) Есть сайт, на laravel, на который нужно установить пакет. Сайт лежит на сервере, где не установлен composer(либо нет к нему доступа).
Получится ли сделать так:
- я на локальном сервере, разворачиваю копию сайта.  Устанавливаю, через composer пакет. Пакет установившийся в папку vendor, загружаю в соответствующую папку на сервере. Загружаю composer.json and composer.lock на сервер.

Достаточно ли этих действий,чтобы перенести пакет между копиями одного сайта?

#6 Re: Laravel 5.x » Ошибка при переносе laravel на локальный компьютер c elasticsearch » 24.11.2016 15:42:35

А есть ли документация на русском языке?
Можно ли бекапить готовый индекс с сервера и перенести индекс на другой сервер?

#7 Laravel 5.x » Ошибка при переносе laravel на локальный компьютер c elasticsearch » 19.11.2016 14:02:50

VasyaPupkin
Ответов: 2

Перенес сайт на laravel на локальный компьютер.
Развернул сайт на openserver.
Часть страниц работает с использованием компонента elasticsearch.

Установил elasticsearch на windows.

Страницы работающие без elasticsearch работают.

А при открытии страниц работающих через elasticsearch, выходит ошибка:

Missing404Exception in Connection.php line 564:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"incom_products","index":"incom_products"}],"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"incom_products","index":"incom_products"},"status":404}


Как найти ошибку?
Нужно запускать переиндексацию?

Индекс elasticsearch храниться на сервере и при переносе сайта, elasticsearch не может индекс и по этому не работает?

#9 Re: Laravel 5.x » Подключение своей библиотеки в laravel » 07.09.2016 10:43:36

Нашел готовое решение по своей задаче: https://github.com/Torann/laravel-geoip

Устанавливаю через composer, сделал все как описано в инструкции к установке.

Но что то не работает.

Выходят ошибки:

[07-Sep-2016 10:44:34 Europe/Moscow] PHP Fatal error:  Class 'Torann\GeoIP\GeoIPServiceProvider' not found in D:\OpenServer\domains\site\bootstrap\cache\compiled.php on line 7651
[07-Sep-2016 10:44:34 Europe/Moscow] PHP Fatal error:  Call to undefined method Illuminate\Support\Facades\Auth::user() in D:\OpenServer\domains\site\bootstrap\cache\compiled.php on line 6323

#10 Re: Laravel 5.x » Подключение своей библиотеки в laravel » 06.09.2016 11:11:44

директория с файлами и папками.

а можно по подробнее с подключение? может ссылочки есть по этому поводу?

#11 Laravel 5.x » Подключение своей библиотеки в laravel » 05.09.2016 22:41:29

VasyaPupkin
Ответов: 8

Здравствуйте.
Хочу подключить свою библиотеку в laravel.
В библиотеке определяется страна пользователя по ip.

К правильно подключить свою библиотеку и передать ip в контроллере и получить название страны?

#12 Re: Laravel 5.x » Как вывести последние новости в подвале каждой страницы? » 05.09.2016 22:18:18

DBR пишет:

$news = News::all(); // Все новости тебе не нужны, тут для примера
view()->share('footerNews', $news); // во всех шаблонах у тебя будет доступна переменная $news

Спасибо, то что нужно!

#13 Re: Laravel 5.x » Как вывести последние новости в подвале каждой страницы? » 04.09.2016 22:45:37

DBR пишет:

Что бы новости были на всех страницах надо передавать переменную с новостями во все шаблоны smile

https://laravel.ru/docs/v5/views

Спасибо, добрый человек.

Но никак не могу понять, как передать в переменную массив с записями.

Так работает: view()->share('key', 'value');

Так пробую, но не выводится.
view()->share('news', New::class);

Подскажите как правильно сделать?

или нужно построители представлений использовать?

#14 Re: Laravel 5.x » Как вывести последние новости в подвале каждой страницы? » 04.09.2016 20:02:44

или вывести блок в виде Виджета?

ищу в поиске виджеты laravel, но информации почти нет.

как все таки вывести блок с новостями в подвале каждой страницы?

#15 Laravel 5.x » Как вывести последние новости в подвале каждой страницы? » 04.09.2016 18:37:08

VasyaPupkin
Ответов: 5

Здравствуйте. я новичек в laravel. Есть страница на которой выводятся новости, там все работает.
Пытаюсь вывести новости в футере каждой страницы, скопировал код из view, который выводит записи на странице со списком новости.
Но в результате последние новости в подвале выводятся только на странице со списком новостей, на других страницах в подвале пусто.

Читаю документацию,но нужное найти не могу.
пробовал через include во view вызвать view страницы новостей, но вместе с новостями выводятся дублирующий хедер и футер.

Помогите как организовать вывод последних новостей?

#16 Re: Laravel 5.x » Как производить сохранение данных в таблицу? » 25.08.2016 15:46:54

разобрался с 500 ошибкой.
оказывается вызывались свойства email_is_confirmed, которые отсутствуют в таблице.
Сейчас работает, данные сохраняются

Сейчас другая проблема, как сделать оправку формы на почту.

#17 Re: Laravel 5.x » Как производить сохранение данных в таблицу? » 24.08.2016 22:43:55

AlexeyMezenin пишет:

Почему возникает 500 ошибка помогите понять?

Какая именно ошибка возникает можно посмотреть в логе /storage/logs/laravel.log. Но лучше включить режим отладки в .env файле APP_DEBUG=true.

Ошибки в этом файле больше не появляются, но ошибка 500 все равно выдается при пост запросе.
При гет - запросе, то есть в браузере все нормально отображается.

А вот в логах openserver отображается ошибка:
PHP Fatal error:  Uncaught exception 'InvalidArgumentException' with message 'Invalid Sentry DSN: http://sitecom' in D:\OpenServer\domains\sitecom\vendor\sentry\sentry\lib\Raven\Client.php:272

Сайт выгружен на локальный сервер и настройка RAVEN_DSN оказывается неверной для локального сервера.

Может ли ошибка 500 возникать из-за ошибки связанной с RAVEN_DSN?

#18 Re: Laravel 5.x » Как производить сохранение данных в таблицу? » 24.08.2016 19:31:41

AlexeyMezenin пишет:

За ссылку спасибо.

Делаю как описано по ссылке. Создал контроллер, модель, прописал route.php, создал миграцию для этого класса.

При открытии страницы, т.е. гет запросе страница с формой открывается.

Но при отправке формы методом пост, в консоли браузера пишет ошибка 500.

В роуте прописано так:

Route::group(['prefix' => 'flight'], function () {
    Route::get('', [
        'as'   => 'flight.index',
        'uses' => 'FlightController@index',
    ]);
    Route::post('', [
        'as'   => 'flight.item',
        'uses' => 'FlightController@updateFlight',
    ]);
});

Функция в контроллере отвечающая за обработку формы:

    public function updateFlight(Request $request, ActivatorContract $contract)
    {
        $this->validate($request, [
            'name' => 'required|max:255',
            'email' => 'required|email|email_mailgun:' . uniqid() . '|email_registered',
            'mess' => 'required|max:255'
        ]);

        $flight = new Flight;

        $flight->name = $request->input('name');
        $flight->mess = $request->input('mess');

        $email_updated = false;
		
        if ($flight->email != $request->input('email')) {
            $email_updated = true;
            $flight->email = $request->input('email');
            $flight->email_is_confirmed = false;
            $contract->sendToken('email', $flight);
        }	

        $flight->save();

        return response()->json([
            'status' => 'ok',
            'message' => view('flight.flight-updated', ['email_updated' => $email_updated])->render()
        ]);
    }

Почему возникает 500 ошибка помогите понять?

Спасибо.

#19 Re: Laravel 5.x » Как производить сохранение данных в таблицу? » 23.08.2016 22:43:58

Если никто не знает, может покажете где написано про сохранение в базу данных в laravel?

#20 Laravel 5.x » Как производить сохранение данных в таблицу? » 23.08.2016 21:49:03

VasyaPupkin
Ответов: 7

Здравствуйте.
Вот разбираюсь с работой laravel на примере отправки формы с сохранением в базу данных.

Вот разбираюсь с формой из документации: https://laravel.ru/docs/v5/validation

В ней есть кусок кода:

/**
 * Сохранение новой статьи.
 *
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request)
{
  $this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
  ]);

  // Статья прошла проверку, сохранение в БД...
}

И я вот не понимаю какой код сохраняет данные в таблицу?

Или код сохранения данных в таблицу здесь не написан?
Помогите как нужно сохранять данные в таблицу?

И как задать в какую таблицу сохранять или название таблицы будет одинаково с названием контроллера?

Подвал раздела