Различия между Omnipay и Payum

Короткий ответ: Payum предоставляет такой ​​же функционал, как и Omnipay, а также некоторые дополнительные функции. Payum работает лучше всего, когда вы совмещаете модель оплаты и действие конверсии. Модель не обязательно должна быть только Payum, можно использовать свою или одну из тех, что предоставляют платформы для электронной торговли. Идея проста: вы отправляете запрос в Payum для захвата вашей модели. В action вы конвертируете модель оплаты в конкретный формат шлюза, чаще всего, в массив. Удобство такого подхода заключается в том, что ваш код никогда не изменяется и выглядит так:

$gateway->execute(new Capture($payment) );
(далее…)

Как в Windows 10 запустить MySql в Docker Toolbox

По какой-то причине, в Docker под Windows запускаются не все версии MySQL и его форков. Приведу небольшой список того, что работает точно: mysql:5.5.55 mysql:5.6.36 mysql:5.7.18 mysql:8.0.1 percona:5.5.541 percona:5.6.35 (далее…)

Настройка Docker Compose в Windows 10

Если во время docker-compose up -d вы получаете ошибки типа подобных:

Cannot create container for service redis: invalid volume specification: 'C:\projects\storage\redis\data:/data:rw'
То нужно произвести некие манипуляции. Создайте файл .env в корне проекта с таким содержимым: (далее…)

Как войти в Docker Toolbox по SSH

По—умолчанию учётные данные такие: IP: 192.168.99.100 User: docker Password: tcuser Можно воспользоваться такой командой: docker-machine ssh А затем: sudo su Также IP-адрес можно получить с помощью команды: docker-machine ip default

Видео докладов Петра Зайцева: всё что вы хотели знать про MySQL, но боялись спросить!

Пётр Зайцев окончил МГУ им. М.В. Ломоносова и ещё в студенческие годы являлся техническим директором проекта SpyLOG — сервиса статистики для веб-сайтов. В начале 2000-х Пётр стал сотрудником MySQL AB и возглавил группу оптимизации производительности (High Performance Group) внутри компании. В 2006 году Пётр Зайцев за рубежом основал собственную компанию «Перкона» (Percona) со специализацией на MySQL, а впоследствии — на оптимизации производительности баз данных MySQLⓇ и MongoDBⓇ. Пётр также является соавтором опубликованной издательством O’Reilly книги «MySQL. Оптимизация производительности» (High Performance MySQL), одной из самых популярных книг по данной теме. В должности генерального директора «Перконы» Пётр совмещает опыт руководства компанией с получением и практической проверкой новых знаний. Пётр является одним из авторов блога Percona Performance Blog (ранее — MySQL Performance Blog) и часто выступает с докладами на технологических и бизнес-конференциях. (далее…)

Приём Bitcoin платежей с помощью шлюза Mycelium Gear

Эта документация в первую очередь предназначена для разработчиков, которые хотели бы интегрировать обработку платежей Bitcoin в свой интернет-магазин или веб-сайт. Если вы не разработчик, но всё равно хотите принять Bitcoin на своём сайте, вы можете создать простой платёжный виджет, используя пошаговое руководство. Mycelium Gear следует отраслевым стандартам обработки платежей, поэтому, если вы когда-либо занимались интеграцией любого платёжного шлюза (не обязательно Bitcoin), вы должны быстро понять, как всё работает и что делать. Для тех, кто никогда не работал с обработкой платежей, мы объясним каждую деталь и продемонстрируем примеры кода. (далее…)

Как пользоваться PHP библиотекой Omnipay от The League

Omnipay — простая в использовании, согласованная библиотека обработки платежей для PHP. Она была разработан на основе идей Active Merchant, плюс опыт внедрения десятков шлюзов для CI Merchant. Omnipay имеет ясный и последовательный API, полностью покрыт модульными тестами и даже поставляется с примером приложения. Зачем использовать Omnipay? Итак, зачем использовать Omnipay Read more

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk

Вот такую хуйню может выдать Redis при попытке записать в него данные:

(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
При этом на чтение работает прекрасно. Как быть? Что делать? (далее…)

Как в PHP сделать pack() из массива

Есть в PHP хорошая функция для запаковки каких-либо данных в бинарный формат. И с помощью неё можно паковать любые данные, в том числе массивы, с некоторыми ограничениями. Рассмотрим простой пример:

php > $a = [1,2,3,4,5,6];
php > $packed = pack('c*', ...$a);
php > echo strlen($packed);
6
(далее…)