Laravel по-русски

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

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

#1 Веб-разработка » Периодически Google map 3 недоступен в моем приложении » 31.05.2021 11:01:05

mstdmstd
Ответов: 0

Всем привет,
В  Laravel 8 / Alpinejs 2.8 используя Google map 3 устанвливаю initialize-метод в ссылку maps.googleapis.com,
но в некоторых случаях initialize-метод не вызывается :

@section('scripts')
    <script
        src="https://maps.googleapis.com/maps/api/js?key={{ $GOOGLE_API_CODE }}&libraries=places&region=EN&language={{ $GOOGLE_API_LANGUAGE }}&callback=initialize"
        async defer></script>
    <script>
        function adminAdLocationEditorComponentSetup() {

            return {
                ...
                locationMap: null,
                onAdminAdLocationEditorComponentInit: function () {
                   ...
                },

                initialize: function () {
                   ...
                }

В чем может быть причина ?               
Я хочу вывести сообщение если Google map  не был успешно загружен. Наверно я мгу установить flag-переменную
в true в завершении initialize-метода
и поверить ее через некоторой timeout(скажем 5 секунд), но нет ли лучшего решения?
И нет ли кодов ошибок Google map и как их получить? Нет ли возможности отлаживать Google map?

Спасибо!

#2 Веб-разработка » Как установить laravel - приложение в Ubuntu 20 под kinsta.com » 04.01.2021 15:25:10

mstdmstd
Ответов: 0

Всем привет,
Надо запустить laravel-приложение в удаленной Ubuntu 20.04.1 LTS
установленной под kinsta.com

В OS установлена nginx(я немного с ней работал, но в основном с apache)
С kinsta ранее не работал - в соновном с Digital Ocean

И что смущает что при запуске

[url]https://appdomen.com/[/url] 

Я получакю ошибку

404 Not Found
nginx/1.14.2 (Ubuntu)

Запускаю

[url]https://appdomen.com/index.html[/url]

Ита же ошибка

404 Not Found
nginx/1.14.2 (Ubuntu)

Читаю в доке  https://kinsta.com/knowledgebase/git/

At Kinsta, our Nginx configuration serves content from the ~/public folder. Thus,
you’ll want to delete the current ~/public folder and rename your cloned repo folder to ~/public. To do this, run the two commands below.

rm -rf ~/public
mv ~/your-repo-folder-name ~/public


Открыв public вижу:

appdomen@xAP-appdomen:~/public$ ls -la
total 18
drwxr-xr-x 2 appdomen www-data     3 Jan  2 15:04 .
drwxr-xr-x 9 appdomen www-data    12 Jan  4 07:59 ..
-rw-r--r-- 1 appdomen www-data 11661 Jan  2 15:04 index.html

1) Мне непонятно почему ошибка 404?
Я полагал, что в обоих случаях должна быть открыта index страница...


Мне в целом понятно что нужно делать :

2) скачать и настроить проложение

cd /var/www/html
git clone MYAPP

3) выполнить

rm -rf ~/public
mv /var/www/html/MYAPP ~/public

При этом мое приложение будет ПЕЕРЕНЕСЕНО в ~/public(это что за дериктория физсчески без алиасов?)

Тогда рут моего приложения будет
~/public
А так как laravel приложение имеет /public дикторию то она будет
~/public/public


4)

cd ~/public
composer require
...

и все как обычно при уставновке laravel-приложение

Все так или что-то не так ?

Спасибо!

#3 Laravel 6/7/8/9/10 » Ошибка при запуске Twillio Chat при запуске laravel 8 приложения... » 28.12.2020 00:11:10

mstdmstd
Ответов: 1

Всем привет,
Надо доработать  laravel 5.8 / vuejs 2.6 приложение с использованием "twilio/sdk": "^5.42" и
пакета "vue-native-websocket": “^2.0.14” ( https://www.npmjs.com/package/vue-native-websocket )

В этом приложении Twillio Chat работает но куча других недоделок, включая необходимость делать
Twillio Video и Twillio ShareScreen

Хочу разобраться c Twillio API  переношу код чата в свое laravel 8.12 / twilio/sdk "twilio/sdk": "^6.15"
/ vue: 2.6.12 / "vue-native-websocket": "^2.0.14" приложение с теми же Twilio параметрами но
получаю ошибку при инициализации чата :

vue.common.dev.js?4650:630 [Vue warn]: Error in v-on handler (Promise/async): "Error: Forbidden"

found in ...

Делаю :

methods: {


            async runChat() {
                this.isLoading = true;

                const res = await axios.post("/admin/check_chat_channel", {  // get token from server
                    user_email: this.loggedUser.email,
                    user_id: this.loggedUser.id,
                });
                console.log('runChat res.data::')
                console.log(res.data)

                const chat_token = await this.fetchChatToken();
                await this.initializeChatClient(
                    chat_token,
                    this.selectedUser.id,
                    res.data
                );
                await this.fetchMessages();
                this.is_sessionPane = false;
                this.isLoading = false;
                if (type != 'chat') {
                    this.startSession();
                }
            },

            async initializeChatClient(token, id, channelName) {
                console.log('initializeChatClient channelName::')
                console.log(channelName)

                console.log('initializeChatClient Twilio.Chat::')
                console.log(Twilio.Chat)

                console.log('initializeChatClient Twilio.Chat.Client::')
                console.log(Twilio.Chat.Client)

                const client = await Twilio.Chat.Client.create(token);
                console.log('+1 client::')
                console.log(client)

                client.on("tokenAboutToExpire", async () => {
                    const token = await this.fetchChatToken();
                    client.updateToken(token);
                });
                console.log('+12::')
                this.channel = await client.getChannelByUniqueName(channelName); // ОШИБКА НА ЭТОЙ СТРОКЕ
                console.log('+13:: this.channel')
                console.log(this.channel)

В консоле обьекты чата и клиента : https://prnt.sc/wa4dic
и сама ошибка : https://prnt.sc/wa4epo

непонятно
В resources/js/app.js :

Vue.use(VueNativeSock, 'ws://localhost:8081', {

и консоле запущено приложение сокета :

$ npm start
> ws--status-server@1.0.0 start /mnt/_work_sdb8/wwwroot/lar/fantasylab.io/status-socket.gotoconsult.io
> node server.js
server is running on 8081

Если это приложение не запущено то получаю ошибку раньше что нет конекта...


Приложение запускаю под локальной ubuntu 18/Apache2 хостинг

[url]http://local-ads-backend8.com/[/url]

В приложение сокета в файле server.js для локальной работы нужно раскоментировать:

/* setup local env */
var http = require('http');
var express = require('express');
var app = express();
var ws = require('ws');
var server = http.createServer(app);

/* setup prod env */
/*
const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();
var ws = require('ws');

const options = {
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.crt')
};
const server = https.createServer(options, app);
*/

но полагал, что там может быть локально привязка к порту 127.0.0.1:8000, но я не нашел

Но та же ошибка если запустить локальный сервер командой

php artisan serve

с урлом

[url]http://127.0.0.1:8000[/url]

Не подскажтите почему “Error: Forbidden” и как его побороть ?
Спасибо!

#4 Веб-разработка » Как настроить firefox/addon/stylish для www.upwork.com ? » 19.11.2020 15:01:13

mstdmstd
Ответов: 0

Всем привет,
Работая в Chrome на сайте
www.upwork.com
мне не хватало отображать ранее посещенные сайты и я использовал
Use Ccs плагин

https://chrome.google.com/webstore/deta … dfcb?hl=ru
и добавив определение в окне кода Use Ccs :

a:visited {
  color: #740943   !important;
}

Я получил нужного результата

Теперь хочу сделать то же в Firefox, который судя по всему Use Ccs  не поддерживает

Нашел и установил такой https://addons.mozilla.org/uk/firefox/addon/stylish/
плагин но не понял как им пользоваться : https://imgur.com/a/E5f6hbw
Там есть уже предустановленные плагины - я попробовал несколько - получилось хуже и
того что мне нужно нет
А есть ли возможность добавить 3 css строчки как я делал в Use Ccs?
Или нужно создавать свой новый плагин? А как?

Спасибо!

#5 Веб-разработка » Организовать работу с git на нескольких бранчах » 02.11.2020 16:10:49

mstdmstd
Ответов: 1

Всем привет,

Посоветуйте пожалуйста как правильно организовать работу при необходимости работать
на нескольких бранчах и необходимо переключаться между ними

То есть работая на BranchA
если мне нужно создать новый бранч делаю

git branch BranchB
git checkout BranchB

но если на BranchA были незакомитненные измнения то мне предложать закомитить изменения
или выполнить git stash
Я выполняю

git stash

и после того как я отработал на  BranchB я возврашаюсь на BranchA

git checkout BranchA

я имею спрятанные последние изменения и по идее я должен выполнить

git stash pop

и вернуться к текщем изменениям на этом бранче
Но этого не происходит
Моих изменений нет и команда

git log

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

git stash

Не подскажите что я делаю неправильно ?

Спасибо!

#6 Re: Laravel » Поделись впечатлениями от laravel-livewire » 27.07.2020 22:58:21

Попалось описание, что с Livewire хорошо взаимейсnвует AlpineJS.
У кого есть опыт, поделитесь, плиз.

#7 Laravel » Поделись впечатлениями от laravel-livewire » 15.07.2020 13:14:56

mstdmstd
Ответов: 1

Всем привет,
Кто работал с  laravel-livewire - поделись плиз впечатлениями, как?
Судя по первым впечатлениям, это возжожность создавать SPA-приложения
и судя по описанию упрощенно, чем используя vue.
Также упроженно использование стандартных операций типа обработчика клика на кнопке
и вывод обновленный данных.
Но сразу возник вопрос а есть ли замена многочисленным jquery-плагинам?
Таким так дата/время пикер, млдальные окна, всплывающие сообщения, галлереи с картинками,
инпуты для ввода форматированных данных итд...

Спасибо !

#8 Re: Laravel 5.x » поддерживает ли html2pdf flexbox/bootstrap/css styles ? » 14.07.2020 07:44:02

Чуть подробнее как я делал.
Я пытаюсь внедрить на свою resources/views/Backend/invoice/edit.blade.php страницу
пример flexbox-layout-а
https://jsfiddle.net/MadLittleMods/LmYay/
выведя этот блок в отдельный файл resources/views/Backend/invoice/invoice_form.blade.php :

@extends($current_admin_template.'.layouts.backend')

@section('content')
    @inject('viewFuncs', 'App\library\viewFuncs')
    
    <!-- Page Content : invoice view -->
    <div id="page-wrapper" class="card block_wrapper">
    
        <button type="button" class="btn btn-primary" onclick="javascript: backendInvoice.generatePdfFile() ; return false;"><span
                class="btn-label"><i class="fa fa-file-pdf-o fa-submit-button"></i></span> &nbsp;Print to pdf
        </button>
    
        @include($current_admin_template . '.invoice.invoice_form') // THIS IS MY flexbox-layout sample code
    
        
        <form method="POST" action="{{ url('/admin/generate-pdf-by-content') }}" accept-charset="UTF-8" id="form_print_to_pdf_content"
              name="form_print_to_pdf_content"
              enctype="multipart/form-data">
            {!! csrf_field() !!}
       
            // MANY FORM FIELDS
            <input type="hidden" id="pdf_content" name="pdf_content" value="">
            <input type="hidden" id="pdf_content_hidden_invoice_no" name="pdf_content_hidden_invoice_no" value="">
            <input type="hidden" id="pdf_content_hidden_invoice_id" name="pdf_content_hidden_invoice_id" value="">
            <input type="hidden" id="pdf_content_hidden_action" name="pdf_content_hidden_action" value="">
        </form>
            
            
    
    </div>
    <!-- /.page-wrapper page Content : invoice edit -->


@endsection



@section('scripts')
    <style>
        *, *:before, *:after
        {
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
        }
    
        html, body
        {
            width: 100%;
            height: 100%;
        
            margin: 0;
            padding: 0;
        }
    
        body
        {
            background: #444444;
        
            color: #cccccc;
            font-size: 14px;
            /* Helvetica/Arial-based sans serif stack */
            font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
        
        }
    
        .flexbox-parent  // I DEFINE FLEXBOX LAYOUT
        {
            width: 100%;
            height: 100%;
        
            display: flex;
            flex-direction: column;
        
            justify-content: flex-start; /* align items in Main Axis */
            align-items: stretch; /* align items in Cross Axis */
            align-content: stretch; /* Extra space in Cross Axis */
        
            background: rgba(255, 255, 255, .1);
        }
    
        .flexbox-item
        {
            padding: 8px;
        }
        .flexbox-item-grow
        {
            flex: 1; /* same as flex: 1 1 auto; */
        }
    
        .flexbox-item.header
        {
            background: rgba(255, 0, 0, .1);
        }
        .flexbox-item.footer
        {
            background: rgba(0, 255, 0, .1);
        }
        .flexbox-item.content
        {
            background: rgba(0, 0, 255, .1);
        }
    
        .fill-area
        {
            display: flex;
            flex-direction: row;
        
            justify-content: flex-start; /* align items in Main Axis */
            align-items: stretch; /* align items in Cross Axis */
            align-content: stretch; /* Extra space in Cross Axis */
        
        }
        .fill-area-content
        {
            background: rgba(0, 0, 0, .3);
            border: 1px solid #000000;
        
            /* Needed for when the area gets squished too far and there is content that can't be displayed */
            overflow: auto;
        }
    
        .block_wrapper {
            background-color : red; !important;
            border: 5px dotted red !important;
        }
        
        #table_report_available_spaces_by_zone td
        {
            border: 2px solid #999 !important;
        }
    
    </style>



    
    <link rel="stylesheet" href="{{ asset('/css/gijgo.min.css') }}" type="text/css">
    
    <script src="{{ asset('js/AutoNumeric/autonumeric@4.1.0') }}"></script>
    
    <script src="{{ asset('js/gijgo.min.js') }}"></script>
    <script src="{{ asset('js/'.$current_admin_template.'/invoice.js') }}{{  "?dt=".time()  }}"></script>
    
    <script>
        /*<![CDATA[*/

        var backendInvoice = new backendInvoice('edit',  // must be called before jQuery(document).ready(function ($) {
            <?php echo $appParamsForJSArray ?>
        );
        console.log('backendInvoice::')
        console.log(backendInvoice)

        jQuery(document).ready(function ($) {
            console.log('ready INSIDE::')

            backendInvoice.onBackendPageInit('edit')
        });

        /*]]>*/
    </script>

@endsection

and resources/views/Backend/invoice/invoice_form.blade.php :

<div class="card" style="min-width: 1100px; background-color: {{ $background_color }} !important; border:0px solid green; display: noneWWW;"
     id="div_invoice_content">
    
    
    <input type="hidden" id="hidden_invoice_no" name="hidden_invoice_no" value="{{$invoice_no}}">
    <input type="hidden" id="hidden_invoice_id" name="hidden_invoice_id" value="{{$invoice_id}}">
    
    
    <div class="flexbox-parent">
        <div class="flexbox-item header">
            Header
        </div>
        
        <div class="flexbox-item fill-area content flexbox-item-grow">
            <div class="fill-area-content flexbox-item-grow">
                Content
                <br /><br />
                Emulates height 100% with a horizontal flexbox with stretch
                <br /><br />
                This box with a border should fill the blue area except for the padding (just to show the middle flexbox item).
            </div>
        </div>
        
        <div class="flexbox-item footer">
            Footer
        </div>
    </div>


</div> <!-- div_invoice_content -->

Javascript код на клике “Print to pdf" кнопки

backendInvoice.prototype.sendPdfToClient = function () {
    $("#div_invoice_content").css("display", "flex");
    var hidden_invoice_no = $("#hidden_invoice_no").val();
    var hidden_invoice_id = $("#hidden_invoice_id").val();
    var pdf_content = $("#div_invoice_content").html();

    $("#pdf_content").val(escapeHtml(pdf_content)); // I nneed it not to get HTML code in resulting page
    $("#pdf_content_hidden_invoice_no").val(hidden_invoice_no);
    $("#pdf_content_hidden_invoice_id").val(hidden_invoice_id);
    $("#pdf_content_hidden_action").val('send_by_email');

    var theForm = $("#form_print_to_pdf_content");
    theForm.submit();
    $("#div_invoice_content").css("display", "none");
}

И код в Laravel-контролле:

$html2pdf = new HTML2PDF('P','A4','en', true, 'UTF-8');

        $times_file_path= base_path() . '/vendor/tecnickcom/tcpdf/fonts/times.php';

        $html2pdf->addFont('times', 'bold', $times_file_path);  //. /public/file at /fonts/roboto/Roboto_regular.ttf

        $html2pdf->setTestTdInOnePage(false);

        $html2pdf->WriteHTML(htmlspecialchars_decode($pdf_content)); // I NEED TO DECODE  HTML-code
        $html2pdf->Output($save_to_file,'F');

        \Response::download($save_to_file, $filename_to_save, array('Content-Type: application/octet-stream', 'Content-Length: pdf'));
        return response()->download($save_to_file, $filename_to_save)->deleteFileAfterSend(true);

И в результате css-классы определенные в @section('scripts') отобраэаются на странице
и при генерации в pdf-файл все классы теряются и выводится простой текст.

Я пытался css-классы из внешнего resources/views/Backend/invoice/edit.blade.php
перенести в файл resources/views/Backend/invoice/invoice_form.blade.php
завернув в <style> </style> блок - но это не помогло...
А как правильно ?

#9 Laravel 5.x » поддерживает ли html2pdf flexbox/bootstrap/css styles ? » 13.07.2020 10:58:29

mstdmstd
Ответов: 1

Всем привет!
Кто сталкивался, а поддерживает ли либа spipu/html2pdf 5.2 flexbox/bootstrap/css styles ?
Если да, то есть ли там какие особенности и можно ли примерчик?

Я попробовал - вроде нет, а гугл вывел много протеворечивой инфы...

laravel 5.7 / bootstrap 4 / html2pdf 5.2

Спасибо!

#10 Веб-разработка » Что нового в mysql 8 ? » 14.06.2020 14:10:28

mstdmstd
Ответов: 2

Всем привет,
Ища клиентов на upwork-е вижу часто требование mysql 8
Работаю с mysql в Laravel как правило использую eloquent, в
редких случаях rиспользую raw-запросы  и сейчас у меня
5.7.30-0ubuntu0.18.04.1

И вопросы :
1) А что такого нового в mysql 8 чтобы ставить это отдельным условием?
2) Есть ли на что обратить внимание с работой в Laravel если установить
mysql 8 под свобю kubuntu(не знаю возможно ли это)
Спасибо!

#11 Re: Laravel 5.x » Осваиваю Stripe Checkout и возникли непонятки » 03.10.2019 18:50:33

Никто работая с Stripe с аналогичными вопросами не сталкивался ?

#12 Laravel 5.x » Осваиваю Stripe Checkout и возникли непонятки » 02.10.2019 18:56:55

mstdmstd
Ответов: 1

Всем привет,
Подключил "stripe/stripe-php": "^7.2" в laravel 5.8 приложение и сделал Stripe Checkout
Выполнил несколько оплат в тестовом модуле - работает, но возникло несколько вопросов :
1) Я полагал что должны приходить мейлы / смски как покупателю так и админу Это где-то настраивается ?
Или в тестовом модуле мейлы/смски не работают ?


2) При оплате я делаю :

$customer = Customer::create(array(
            'email' => $request->stripeEmail,
            'source'  => $request->stripeToken
        ));

        $charge = Charge::create(array(
            'customer' => $customer->id,
            ...

При этом в списке покупателей https://dashboard.stripe.com/test/customers я вижу 1 строку покупателя на одну продажу
Это так и должно быть ? Я полагал что будет одна строка покупателя по аналогии с СУБД...


3)  Я ввел одного покупателя в https://dashboard.stripe.com/customers и заполнил все поля для него включая Billing details / Shipping details
Но выполнив оплату кодом выше я вижу что и $customer и $charge имею все поля адресса - но они пусты что очень странно...


4) Я перехожу к subscriptions с использованием Laravel Cashier и читаю что должна быть страницы списка планов и создание
нового плана : https://prnt.sc/pd6iv2
Не нашел я подобного
Нашел страницу с настройками Settings->Subscriptions and emails - это похоже не то...
Или это зависит от моего аккаунта ? В своем дешборде вижу : https://prnt.sc/pd6l91

Спасибо!

#13 Laravel 5.x » Ошибка логина в laravel приложение используя приложение facebook » 26.08.2019 10:25:27

mstdmstd
Ответов: 0

Всем привет!
делаю логин в laravel приложение с помощью приложения facebook
и получаю ошибку

URL заблокирован: Не удалось выполнить переадресацию, поскольку конечный URI не внесен в «белый» список в разделе приложения «Клиентские настройки OAuth». Убедитесь в том, что вход с помощью OAuth включен для клиента и веб-форм, а также добавьте все домены вашего приложения в качестве действительных URI для переадресации OAuth.


Я заполнил Whitelist в настройках приложения :
https://prnt.sc/oxj0j2
и https://prnt.sc/oxj1fp
На принтскрине выше есть варнинг об ошибке и идя по ссылке : https://prnt.sc/oxj6o1

Я в непонятках то ли ненастроен Whitelist или как на последней ссылке App Disabled. Я пытался читать последнюю страницу и ничего не понял ...

"laravel/framework": "5.8.*",
"laravel/socialite": "^3.2",

?

Спасибо!

#14 Re: Веб-разработка » Как подключить фонты с расширением .otf ? » 29.06.2019 15:19:22

5) Нашел статью https://askubuntu.com/questions/18357/h … 8359#18359
открыл каталог /usr/share/fonts/opentype  и скинул в него все файлы

ot@serge:/usr/share/fonts/opentype# ls -la
total 1316
drwxr-xr-x  6 root root   4096 чер 29 14:24  .
drwxr-xr-x 11 root root   4096 кві 26  2018  ..
drwxr-xr-x  2 root root   4096 чер 29 14:24 'Cera GR'
-rwxrwxrwx  1 root root 101224 кві 16  2015 'Cera GR Black Italic.otf'
-rwxrwxrwx  1 root root  96004 кві 16  2015 'Cera GR Black.otf'
-rwxrwxrwx  1 root root 113024 кві 16  2015 'Cera GR Bold Italic.otf'
-rwxrwxrwx  1 root root 107324 кві 16  2015 'Cera GR Bold.otf'
-rwxrwxrwx  1 root root 117476 кві 16  2015 'Cera GR Light Italic.otf'
-rwxrwxrwx  1 root root 110696 кві 16  2015 'Cera GR Light.otf'
-rwxrwxrwx  1 root root 114340 кві 16  2015 'Cera GR Medium Italic.otf'
-rwxrwxrwx  1 root root 108552 кві 16  2015 'Cera GR Medium.otf'
-rwxrwxrwx  1 root root 110016 кві 16  2015 'Cera GR.otf'
-rwxrwxrwx  1 root root 114468 кві 16  2015 'Cera GR Regular Italic.otf'
-rwxrwxrwx  1 root root 108412 кві 16  2015 'Cera GR Thin Italic.otf'
-rwxrwxrwx  1 root root 101256 кві 16  2015 'Cera GR Thin.otf'
drwxr-xr-x  2 root root   4096 кві 26  2018  font-awesome
drwxr-xr-x  2 root root   4096 кві 26  2018  malayalam
drwxr-xr-x  2 root root   4096 кві 26  2018  noto

Не уверен должны ли все файлы быть скинуты в подкаталог - создал еще подкаталог :

# ls -la
total 1300
drwxr-xr-x 2 root root   4096 чер 29 14:24  .
drwxr-xr-x 6 root root   4096 чер 29 14:24  ..
-rwxrwxrwx 1 root root 101224 кві 16  2015 'Cera GR Black Italic.otf'
-rwxrwxrwx 1 root root  96004 кві 16  2015 'Cera GR Black.otf'
-rwxrwxrwx 1 root root 113024 кві 16  2015 'Cera GR Bold Italic.otf'
-rwxrwxrwx 1 root root 107324 кві 16  2015 'Cera GR Bold.otf'
-rwxrwxrwx 1 root root 117476 кві 16  2015 'Cera GR Light Italic.otf'
-rwxrwxrwx 1 root root 110696 кві 16  2015 'Cera GR Light.otf'
-rwxrwxrwx 1 root root 114340 кві 16  2015 'Cera GR Medium Italic.otf'
-rwxrwxrwx 1 root root 108552 кві 16  2015 'Cera GR Medium.otf'
-rwxrwxrwx 1 root root 110016 кві 16  2015 'Cera GR.otf'
-rwxrwxrwx 1 root root 114468 кві 16  2015 'Cera GR Regular Italic.otf'
-rwxrwxrwx 1 root root 108412 кві 16  2015 'Cera GR Thin Italic.otf'
-rwxrwxrwx 1 root root 101256 кві 16  2015 'Cera GR Thin.otf'

выполнил команду

sudo fc-cache -f -v

не помогает
перезапустился - то же самое

Как я понимаю в таком случае шаг 2) описанием классов в resources/sass/Horizontal/app.scss нужно пропустить ?
если эти строки закоментарить, также не помогает...

#15 Веб-разработка » Как подключить фонты с расширением .otf ? » 29.06.2019 15:00:10

mstdmstd
Ответов: 1

Всем привет,
получил от клиента ряд файлов с *.otf фонтами

Вроде бы это делалось в adobe illustrator
Нужно ли их подключть как обычный фонты типа
@font-face {
    ...
}

Или их нужно конвертировать ?

Скинул файлы в подкаталог application/public/fonts$ ls -la
total 10100

drwxrwxrwx 1 root root    8192 чер 29 13:55  .
drwxrwxrwx 1 root root    4096 тра 23 18:10  ..
-rwxrwxrwx 1 root root  101224 кві 16  2015 'Cera GR Black Italic.otf'
-rwxrwxrwx 1 root root   96004 кві 16  2015 'Cera GR Black.otf'
-rwxrwxrwx 1 root root  113024 кві 16  2015 'Cera GR Bold Italic.otf'
-rwxrwxrwx 1 root root  107324 кві 16  2015 'Cera GR Bold.otf'
-rwxrwxrwx 1 root root  117476 кві 16  2015 'Cera GR Light Italic.otf'
-rwxrwxrwx 1 root root  110696 кві 16  2015 'Cera GR Light.otf'
-rwxrwxrwx 1 root root  114340 кві 16  2015 'Cera GR Medium Italic.otf'
-rwxrwxrwx 1 root root  108552 кві 16  2015 'Cera GR Medium.otf'
-rwxrwxrwx 1 root root  110016 кві 16  2015 'Cera GR.otf'
-rwxrwxrwx 1 root root  114468 кві 16  2015 'Cera GR Regular Italic.otf'
-rwxrwxrwx 1 root root  108412 кві 16  2015 'Cera GR Thin Italic.otf'
-rwxrwxrwx 1 root root  101256 кві 16  2015 'Cera GR Thin.otf'

2) В resources/sass/Horizontal/app.scss прописал

@font-face {
  font-family:'Cera GR Black Italic';
  src:url('/fonts/Cera GR Black Italic.otf');
  font-style:italic;

}

@font-face {
  font-family:'Cera GR Black';
  src:url('/fonts/Cera GR Black.otf');
  font-style:bold;
}

в консоле

npm run watch-poll

успешно скомпилтровал файлы

3) и на своем странице :

<div class="Cera GR Black Italic">
					Cera GR Black Italic style text
				</div>
				<div class="Cera GR Black">
					Cera GR Black style text
				</div>

4) Плагин WhaFont упорно показывает sans-serif
В чем проблема ?

спасибо!

#16 Laravel 5.x » Улучшить качество загружаемой картинки laravel-image-optimizer-ом » 21.06.2019 17:45:50

mstdmstd
Ответов: 2

Всем привет,
установил пакет
https://github.com/spatie/laravel-image-optimizer
и в настройке этого пакета установил :

Jpegoptim::class => [
            '-m100',

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

Спасибо!

#17 Re: Laravel 5.x » Можно из консоли запустить контрол который выводит отчет? » 24.05.2019 18:33:46

Наверно, проблема в том, что в браузере зайти на /admin/report/available-spaces-by-zones/send-email-on-open
может только залонившейся в систему юзер? Можно ли из консоли запустить такой урл?
Или надо переделать на урл без ограничения доступа?

#18 Laravel 5.x » Можно из консоли запустить контрол который выводит отчет? » 24.05.2019 10:42:08

mstdmstd
Ответов: 1

Всем привет
А можно ли в laravel 5.7 из консоли запустить контрол который выводит отчет?
То есть кроном запучкается консольная команда
php artisan report:available-spaces-by-zones

Сама команда app/Console/Commands/reportAvailableSpacesByZones.php :

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Carbon\Carbon;
use App\library\AvailableSpacesByZonesReport;

class reportAvailableSpacesByZones extends Command
{
    protected $signature = 'report:available-spaces-by-zones';

    protected $description = 'With this command available-spaces-by-zones report will be sent daily';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        \Log::info( 'Report From inside app/Console/Commands/reportAvailableSpacesByZones.php run # ' . time()  );// Сообщения в лог добавляются
        return redirect()->to('/admin/report/available-spaces-by-zones/send-email-on-open');// ОТЧЕТ НЕ ВЫПОЛНЯЕТСЯ
    }

}

Если запустить в браузер урл
/admin/report/available-spaces-by-zones/send-email-on-open
То рендится отчет и отправляется на мейл

Но редирект выше не работает и похоже не запускается совсем  нет нет логов запуска котнрола.
А как правильно?


2) Мелькнула мысль переделать отчет в обьекте с blade-темплейтом отдельно и вызывать его как в контроле так и в консольной команде.

Есть ли что в laravel 5.7 удобное для этого ?
Как лучше сделать?

Спасибо!

#19 Laravel 5.x » Установка laravel 5 приложения без консоли ? » 06.05.2019 18:47:57

mstdmstd
Ответов: 0

Вем привет,
Клиент озадачил : дал ftp доступ к своему серверу для установки laravel 5 приложения
Я зашел на сервер в Filezilla используя fstp-ssh протокол
Без node_modules и vendor загрузился довольно быстро - но все равно нужна консоль - можно ли ее получить из Filezilla ?
И можно ли установить laravel 5 приложение без консоли?

Спасибо!

#21 Прочее » Установить swapfile в ubuntu » 30.03.2019 19:31:19

mstdmstd
Ответов: 1

Всем привет,
выполняя на сервере установку laravel проекта столкнулся с ошибкой нехваткой памяти
Погуглив нашел решение выполнив команды

sudo fallocate -l 1G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -a

Но после загрузки системы опять ошибка с нехваткой памяти и выполнив команды выше
ошибка ушла.
А как установить swap постоянно ?

Спасибо!

#22 Laravel 5.x » Чем делать кеширование динамического содержимого сайта » 29.03.2019 19:35:51

mstdmstd
Ответов: 3

Всем привет,
Понадобилось сделать кеширование для небольшого laravel 5 сайта(пока что несколько сот статей / новостей, но предполагается, что сайт будет расти) с динамическим содержимым.
Обновление содержимого будет не таким уж и частым.
Наткнулся на такой плагин
https://github.com/spatie/laravel-responsecache
Показалось интересным
Как по вашему этот плагин удобен? Никто им не пользовался ?

Ранее с кешированием содержимого сайтов сталкиваться не доводилось... Хотелось бы начать с чего-то нге очень громадного...

Спасибо!

#23 Laravel 5.x » Ошибка 403 при запуске примера с сокетом » 24.03.2019 15:26:53

mstdmstd
Ответов: 0

Всем привет,
Пытаюсь запустить пример с websockets-ом отсюда https://www.youtube.com/watch?v=HoSTTfj … G&index=11 и описанием команд
https://dka-develop.ru/blog/article/lar … 0403191710
со ссылкой на github
Запускю приложение и залогинился но при открытии страницы с чатом в консоле получаю ошибку:

VM855:1 POST [url]http://local-001laravel-php-websockets-master.com/broadcasting/auth[/url] 403 (Forbidden)

Где http://local-001laravel-php-websockets-master.com это хостинг локально с настройками и прописвнный в .env

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /_wwwroot/lar/Examples/001laravel-php-websockets-master/public    
    <Directory /_wwwroot/lar/Examples/001laravel-php-websockets-master/public>
      AllowOverride All
      Order Deny,Allow
      Allow from all
      Require all granted
    </Directory>
    
    ServerName local-001laravel-php-websockets-master.com
    ServerAlias local-001laravel-php-websockets-master.com

    Options FollowSymLinks
    DirectoryIndex index.php
    
    ErrorLog /_wwwroot/lar/Examples/001laravel-php-websockets-master/storage/logs/error.log
    CustomLog /_wwwroot/lar/Examples/001laravel-php-websockets-master/storage/logs/access.log combined
</VirtualHost>

Непонятно к чему нет доступа ? В приложение я залогинился. Там упоминался redis.
Я повторил то было в видео :

$ redis-cli
127.0.0.1:6379> 

r$ redis-cli monitor
OK
redis-cli monitor
$ netstat -an | grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:6379          127.0.0.1:60022         ESTABLISHED
tcp        0      0 127.0.0.1:6379          127.0.0.1:60032         ESTABLISHED
tcp        0      0 127.0.0.1:60022         127.0.0.1:6379          ESTABLISHED
tcp        0      0 127.0.0.1:60032         127.0.0.1:6379          ESTABLISHED
tcp6       0      0 ::1:6379                :::*                    LISTEN     
$ php artisan websockets:serve
Starting the WebSocket server on port 6001...
New connection opened for app key 123.
Connection id 369720864.693996453 sending message {"event":"pusher:connection_established","data":"{\"socket_id\":\"369720864.693996453\",\"activity_timeout\":30}"}
Connection id 369720864.693996453 closed.
New connection opened for app key 123.
Connection id 52622455.774637789 sending message {"event":"pusher:connection_established","data":"{\"socket_id\":\"52622455.774637789\",\"activity_timeout\":30}"}

.env :

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:HhKIpN1Zz1THpIPKg26dh6Sbo1+gmaT6r1Za6BJCtyM=
APP_DEBUG=true
APP_URL=http://local-001laravel-php-websockets-master.com

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=001laravel-php-websockets-master
DB_USERNAME=root
DB_PASSWORD=1

\\ В качестве вещателя прописывает pusher
BROADCAST_DRIVER=pusher
\\ Фейковые данные
PUSHER_APP_ID=123
PUSHER_APP_KEY=123
PUSHER_APP_SECRET=1234324
PUSHER_APP_CLUSTER=mt1

CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=


MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

С Redis-ом работать не довелось...
Еще нужны какие-то настройки?


Спасибо!

#24 Re: Laravel » Ошибка Permission denied (publickey) при запуске envoy » 15.03.2019 07:46:29

Спасибо за помощь !
Я постарался выпонить вышеуказанные команды и перезапустил систему, но та же самая ошибка.  Имею доступ локально:

serge@serge:~/.ssh$ ls -la
total 36
drwx------  2 serge serge 4096 9 16:36 .
drwxr-xr-x 48 serge serge 4096 15 06:10 ..
-rw-r--r--  1 serge serge  398 26 07:57 authorized_keys
-rwx------  1 serge serge  181  9 16:33 config
-rw-------  1 serge serge 1679  25  2018 id_rsa
-r--------  1 serge serge  426  3 10:35 id_rsa.pem
-r--------  1 serge serge  393  25  2018 id_rsa.pub
-rwxrwxrwx  1 serge serge 5882  6 18:35 known_hosts

И на сервере :

root@nsn-do-lamp:~# cd /home/lardeployer/.ssh/
root@nsn-do-lamp:/home/lardeployer/.ssh# ls -la
total 24
drwx------ 2 lardeployer lardeployer 4096 Mar 10 04:43 .
drwxr-xr-x 7 lardeployer lardeployer 4096 Mar 15 04:32 ..
-rw-r--r-- 1 lardeployer lardeployer  182 Mar 10 04:31 config
-rw-r--r-- 1 lardeployer lardeployer 1680 Mar 10 04:31 id_rsa
-rw-r--r-- 1 lardeployer lardeployer  394 Mar  9 05:57 id_rsa.pub
-rw-r--r-- 1 lardeployer lardeployer 1768 Mar 10 04:40 known_hosts

Я то-то упустил из ваших инструкций?

Но выполнив по вашему совету вход через своего созданного юзера получил ошибку, что на приватный ключ слишком много прав :

ssh lardeployer@NNN.NN.NN.N
$ git clone git@bitbucket.org:sergeynilov/votes.git
Cloning into 'votes'...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/lardeployer/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/lardeployer/.ssh/id_rsa": bad permissions                                                                                                                                                              
git@bitbucket.org: Permission denied (publickey).                                                                                                                                                                      
fatal: Could not read from remote repository.                                                                                                                                                                          
                                                                                                                                                                                                                       
Please make sure you have the correct access rights                                                                                                                                                                    
and the repository exists.

Непонятно откуда там взялось 0644 и как быть дальше ?

#25 Re: Laravel » Ошибка Permission denied (publickey) при запуске envoy » 14.03.2019 15:45:43

Это выполнять локально ?
Полчуаю ошибку :

# chown +R serge:serge .ssh/
chown: invalid user: ‘+R’

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