Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет,
В 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®ion=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?
Спасибо!
Всем привет,
Надо запустить 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-приложение
Все так или что-то не так ?
Спасибо!
Всем привет,
Надо доработать 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” и как его побороть ?
Спасибо!
Всем привет,
Работая в 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?
Или нужно создавать свой новый плагин? А как?
Спасибо!
Всем привет,
Посоветуйте пожалуйста как правильно организовать работу при необходимости работать
на нескольких бранчах и необходимо переключаться между ними
То есть работая на BranchA
если мне нужно создать новый бранч делаю
git branch BranchB
git checkout BranchB
но если на BranchA были незакомитненные измнения то мне предложать закомитить изменения
или выполнить git stash
Я выполняю
git stash
и после того как я отработал на BranchB я возврашаюсь на BranchA
git checkout BranchA
я имею спрятанные последние изменения и по идее я должен выполнить
git stash pop
и вернуться к текщем изменениям на этом бранче
Но этого не происходит
Моих изменений нет и команда
git log
не отобаражает что данные были сташированы командой
git stash
Не подскажите что я делаю неправильно ?
Спасибо!
Попалось описание, что с Livewire хорошо взаимейсnвует AlpineJS.
У кого есть опыт, поделитесь, плиз.
Всем привет,
Кто работал с laravel-livewire - поделись плиз впечатлениями, как?
Судя по первым впечатлениям, это возжожность создавать SPA-приложения
и судя по описанию упрощенно, чем используя vue.
Также упроженно использование стандартных операций типа обработчика клика на кнопке
и вывод обновленный данных.
Но сразу возник вопрос а есть ли замена многочисленным jquery-плагинам?
Таким так дата/время пикер, млдальные окна, всплывающие сообщения, галлереи с картинками,
инпуты для ввода форматированных данных итд...
Спасибо !
Чуть подробнее как я делал.
Я пытаюсь внедрить на свою 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> 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> блок - но это не помогло...
А как правильно ?
Всем привет!
Кто сталкивался, а поддерживает ли либа spipu/html2pdf 5.2 flexbox/bootstrap/css styles ?
Если да, то есть ли там какие особенности и можно ли примерчик?
Я попробовал - вроде нет, а гугл вывел много протеворечивой инфы...
laravel 5.7 / bootstrap 4 / html2pdf 5.2
Спасибо!
Всем привет,
Ища клиентов на upwork-е вижу часто требование mysql 8
Работаю с mysql в Laravel как правило использую eloquent, в
редких случаях rиспользую raw-запросы и сейчас у меня
5.7.30-0ubuntu0.18.04.1
И вопросы :
1) А что такого нового в mysql 8 чтобы ставить это отдельным условием?
2) Есть ли на что обратить внимание с работой в Laravel если установить
mysql 8 под свобю kubuntu(не знаю возможно ли это)
Спасибо!
Никто работая с Stripe с аналогичными вопросами не сталкивался ?
Всем привет,
Подключил "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
Спасибо!
Всем привет!
делаю логин в 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",
?
Спасибо!
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 нужно пропустить ?
если эти строки закоментарить, также не помогает...
Всем привет,
получил от клиента ряд файлов с *.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
В чем проблема ?
спасибо!
Всем привет,
установил пакет
https://github.com/spatie/laravel-image-optimizer
и в настройке этого пакета установил :
Jpegoptim::class => [
'-m100',
макс качество
полагаю что в админке при загрузки картинки, будет полезно улучшить качество этой картинки.
Нагуглил несколько картинок с явно неважным качеством - но обработав их этим пакетов не вижу улучшения в сгенерированной картинке...
Или картинки нашел неудачно или еще что-то ...
Не расшарите несколько картинок неважного качества, от которых можно было ожидать улучшения применив этот плагин ?
Спасибо!
Наверно, проблема в том, что в браузере зайти на /admin/report/available-spaces-by-zones/send-email-on-open
может только залонившейся в систему юзер? Можно ли из консоли запустить такой урл?
Или надо переделать на урл без ограничения доступа?
Всем привет
А можно ли в 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 удобное для этого ?
Как лучше сделать?
Спасибо!
Вем привет,
Клиент озадачил : дал ftp доступ к своему серверу для установки laravel 5 приложения
Я зашел на сервер в Filezilla используя fstp-ssh протокол
Без node_modules и vendor загрузился довольно быстро - но все равно нужна консоль - можно ли ее получить из Filezilla ?
И можно ли установить laravel 5 приложение без консоли?
Спасибо!
Ну и как пробовали ?
Всем привет,
выполняя на сервере установку laravel проекта столкнулся с ошибкой нехваткой памяти
Погуглив нашел решение выполнив команды
sudo fallocate -l 1G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -a
Но после загрузки системы опять ошибка с нехваткой памяти и выполнив команды выше
ошибка ушла.
А как установить swap постоянно ?
Спасибо!
Всем привет,
Понадобилось сделать кеширование для небольшого laravel 5 сайта(пока что несколько сот статей / новостей, но предполагается, что сайт будет расти) с динамическим содержимым.
Обновление содержимого будет не таким уж и частым.
Наткнулся на такой плагин
https://github.com/spatie/laravel-responsecache
Показалось интересным
Как по вашему этот плагин удобен? Никто им не пользовался ?
Ранее с кешированием содержимого сайтов сталкиваться не доводилось... Хотелось бы начать с чего-то нге очень громадного...
Спасибо!
Всем привет,
Пытаюсь запустить пример с 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-ом работать не довелось...
Еще нужны какие-то настройки?
Спасибо!
Спасибо за помощь !
Я постарался выпонить вышеуказанные команды и перезапустил систему, но та же самая ошибка. Имею доступ локально:
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 и как быть дальше ?
Это выполнять локально ?
Полчуаю ошибку :
# chown +R serge:serge .ssh/
chown: invalid user: ‘+R’