Найти тему
Ошибка подключения к sqlite на Windows. В данный момент работаю с laravel 11 на Windows. Laravel в версии 11 по умолчанию использует sqlite. И с учетом специфики проекта мне не нужно его менять на какие-то другие СУБД. Но при использовании Apache возникла ошибка “could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)”. Причем при использовании php artisan serve такой ошибки не возникает. Получается проблема в Apache. Решается это добавлением подключения sqlite в файле httpd.conf из папки с php. Строка подключения выглядит так: LoadFile "path/to/your/php/libsqlite3.dll"
2 месяца назад
Использование магического метода __call() в PHP
Свободный перевод статьи “How to use PHP __call() Magic Method?” (laravel-school.com). Магический метод __call() в PHP – невероятно мощный инструмент для динамической обработки методов. Хотя его базовое использование хорошо известно, существует множество продвинутых методов и реальных сценариев, в которых метод __call() можно использовать для вывода вашего кода на новый уровень. В этой статье мы рассмотрим вариант использования метода __call() на простом практическом примере. Представьте, что у вас есть такой класс: class MyClass { private string $foo; private string $bar; public...
1 год назад
Основы LXD/LXC
Шпаргалка по основным моментам LXD/LXC (платформа контейнеризации, использующая общее ядро хостовой операционной системы). Описано следующее: установка; запуск контейнера; установка apache2 в контейнер; проброс интернета в контейнер; установка статического ip адреса; доступ через внешний адрес; экспорт/импорт контейнера. В качестве ОС для тестов был использован Debian 11. В других ОС команды могут отличаться. Видеоверсия (YouTube) УСТАНОВКА LXD which snapd (смотрим установлен ли snapd) apt install...
1 год назад
Скрейпинг (парсинг) сайта Авито с помощью Node.js и Puppeteer
В данном материале показан пример скрейпинга содержимого сайта Авито с помощью Node.js и Puppeteer. Материал основан на отличной статье “Скрейпинг веб-сайта с помощью Node.js и Puppeteer” с сайта digitalocean.com (автор Gbadebo Bello). Для работы примера у вас должны быть установлены: node, npm и puppeteer. О том, как это сделать, вы можете посмотреть в материале Gbadebo Bello. Для запуска кода из данного материала был использован node версии 14.21.1 и npm версии 6.14.17. Всего понадобится создать 5 файлов: package...
226 читали · 2 года назад
Заметка о RAID
RAID 0 Данные разбиваются на несколько дисков по частям получается 1 общий большой диск. Подходит для интенсивной записи больших объемов данных. Например, для рендеринга. + Большой объем + Большая скорость записи и чтения - Выходит из строя 1 диск, то теряются все данные RAID 1 Второй диск - это копия первого. Подходит там, где необходима отказоустойчивость и одновременно быстрый режим работы с диском. + Большая скорость записи и чтения + При выходе 1 диска из строя данные не теряются RAID 5 Несколько дисков + 1 диск в качестве дополнения, на случай выхода из строя одного из дисков...
2 года назад
Отправка почты с локальной машины
К примеру, есть у вас локальная машина, физическая или виртуалка и вам нужно отправлять с нее почту. Очень часто советуют в таких случаях подключаться к серверам какого-нибудь почтового провайдера, например, Яндекса или Гугла (smtp.yandex.ru / smtp.gmail.com). Но это можно сделать по-другому. В первую очередь для отправки почты нужен домен, с которого почта будет отправляться. Поэтому в любом случае его нужно зарегистрировать. После регистрации домена, в настройках DNS нужно добавить новую TXT запись: v=spf1 mx a ip4:123.123.123.123 ~all где 123.123.123.123 - это ваш публичный ip-адрес (адрес, который выдал ваш интернет-провайдер)...
2 года назад
Заметка о youtube-dl или как еще скачать видео с YouTube
Я думаю, большинству когда-то приходилось качать видео с ютьюба. Обычно для этого пользуются онлайн-сервисами, но не все знают, что это можно сделать прямо из командной строки, в этом нам поможет утилита youtube-dl. Для начала утилиту нужно скачать. Как это сделать написано на их сайте - youtube-dl.org. Приведу несколько примеров использования этой утилиты. Скачать видео средствами самой утилиты можно так: youtube-dl https://www.youtube.com/watch?v=BaW_jenozKc Скачать с использованием ffmpeg: ffmpeg -i "LINK_TO_VIDEO" -c copy OUTPUT.mp4 Как получить "LINK_TO_VIDEO" смотрите ниже. Получаем ссылки на видео и аудио по отдельности: youtube-dl --get-url https://www...
128 читали · 2 года назад
Стриминг с помощью MistServer
В данном материале я опишу как можно делать стримы с использованием сервера MistServer и OBS. В качестве источника для трансляции я выбрал ссылку на видео из интернета. Ссылка на видео: http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 Плюс OBS в том, что в этой программе удобно и наглядно можно выбирать любой контент для вашего стрима. Список источников впечатляющий: браузер, запись с камеры, захват окна, захват экрана, изображение, текст, медиа по ссылке, медиа из файла и т...
118 читали · 2 года назад
Сервер на ReactPHP
Пример простой реализации сервера на ReactPHP, который в качестве ответа на запрос стримит локальное видео. Если вы перейдете на сайт ReactPHP — reactphp.org. В самом верху страницы показан пример простого сервера, который слушает 8080 порт и в качестве ответа возвращает строку «Hello World!». Я немного изменил этот пример, чтобы было интереснее. В моем примере, в качестве ответа, сервер транслирует видеофайл. В первую очередь нужно установить зависимости из библиотеки ReactPHP, используя composer: composer require react/http react/socket Далее сохранить код из примера ниже в файл...
2 года назад
Docker-окружение с NGINX, PHP, composer, Xdebug, Adminer, MySQL
Разместил у себя в Гитхабе пример docker-окружения с сервисами для веб-разработки, включающий: NGINX, PHP, composer, Xdebug, Adminer, MySQL. Ссылка на репозитарий в Гитхабе. Настройка Измените .env для задания версий устанавливаемых сервисов (NGINX, Adminer, MySQL), для задания пароля и названия БД. Версия PHP прописана в файле config/php/Dockerfile. Установка и запуск При переключении на ветку dev будет установлен Xdebug. В основной ветке его нет. Откройте терминал, перейдите в папку с docker-compose...
2 года назад
Пример проекта на Laravel. Доска объявлений
Предлагаю для ознакомления исходники проекта, написанного на Laravel 8. В качестве JS-фреймворка используется Vue.js. Проект представляет собой вымышленный пример доски объявлений. Материал с сайта phpnick...
2 года назад
PostgreSQL. Запросы к БД на примере сайта объявлений
Выкладываю примеры sql-запросов из одного тестового задания. В качестве СУБД используется PostgreSQL. БД создана для воображаемого сайта объявлений. Материал с сайта phpnick.ru. Ссылка на материал - https://phpnick.ru/posts/category/sql/73 1) пользователи (users): 2) категории (categories): 3) объявления (offers), 4) комментарии (comments): Примеры запросов к БД 1. Выберите список всех комментариев, созданных пользователем с идентификатором 1. Поля для вывода: id, created_at, offer_id, comment_text...
3 года назад