Получение подробной информации от http-клиента Guzzle

При отладке приложений с использованием http-клиента Guzzle возникает одно неудобство — отладчик не перехватывает сам запрос, а проходит мимо. Понять, что происходит в ходе запроса, порой проблематично.

Далее...

Обновление SSH-ключа сервера в known_hosts

Однажды наш сисадмин обновил корпоративный gitlab, назовём его gitlab.mycorp.org, в результате чего возникли проблемы с подключением к этому серверу из-за смены открытого ключа во всех файлах known_hosts тех хостов, которые к нему ранее подключались.

Далее...

Рабочий хак для внедрения функций в HEREDOC-синтаксисе PHP

Всем известны ограничения синтаксиса строк HEREDOC, который является альтернативой двойным кавычкам. Эти ограничения состоят в невозможности вставки кусков PHP-кода, классов, функций и т.п.

Далее...

О порядке обработки ошибок в PHP

Включение вывода ошибок уровня Notice, Deprecated или Strict, может спровоцировать дополнительные сообщения уровня Warning, а то и приводить к фатальным ошибкам от некоторых PHP библиотек или компонентов. К таким компонентам относится, например, популярный SapiEmitter из ZendFramework, который проверяет отправку заголовков с помощью директивы headers_sent(). Это нужно иметь в виду, если …

Далее...

Ограничение типа integer в PHP на уровне системы в Windows

Совсем недавно столкнулся с неработоспособностью кода у себя на локальной машине для разработки при всём том, что на боевом сервере он работал как надо. В нём выполнялось деление некоего ID, приходящего извне, по модулю на 100, и нужно было передавать остаток от деления.

Далее...

О регулярных выражениях с кириллицей в PHP

В PHP много функций для работы с регулярными выражениями, но если вы применяете их к кириллическим и любым другим символам за пределами ASCII в формате Unicode, это в обязательном порядке нужно указывать в ключах режима регулярного выражения.

Далее...

Полезные функции и настройки phpStorm

Включение часового пояса для плагина PostgreSQL По умолчанию при работе с базами PostgreSQL через встроенный в phpStorm плагин даты отображаются в UTC несмотря на правильные настройки часового пояса PostgreSQL в VirtualBox. Также, для этого плагина не существует настройки временной зоны на вкладке «Advanced», как, например, для MySQL. Чтобы исправить ситуацию, …

Далее...

Опасность вложенных include с директивами «../» в путях к файлам в PHP

Успешность подключения файла с помощью директивы include (require), который, в свою очередь, содержит подключение другого файла и так далее, зависит от того, как прописаны пути к подключаемым файлам.

Далее...

Настройка проксирования конкретных скриптов в Openserver

Для выполнения проксирования конкретных динамических скриптов через Nginx на Apache в Openserver, необходимо в конфигурации конкретного vhost (например, Apache-2.4-x64+Nginx-1.14_vhostn.conf) убрать завершающий слэш из аргумента директивы proxy_pass:

Далее...

Настройка Postman для работы за прокси-сервером

При работе с Postman на компьютере на базе Windows за прокси-сервером Squid возникает проблема доступа к локальным ресурсам, например, к сайтам на локальном вебсервере (Openserver и т.п.). Для того, чтобы исправить проблему, необходимо очистить переменные http_proxy и https_proxy при запуске программы. Для этого создайте bat-файл: set HTTP_PROXY= set http_proxy= set HTTPS_PROXY= …

Далее...

Подробный анализ теории и практики использования SSH-туннелей

tunnel

  В статье дан подробный анализ теории и практики построения SSH-туннелей на базе PuTTY. Информации по этому поводу в интернете очень много, однако она не носит систематического характера и зачастую представляет собой лишь разрозненный набор практических рецептов.

Далее...

Виртуальные классы: облачный сервис для преподавания компьютерных дисциплин

В конце августа 2016 года мною запущен облачный сервис Виртуальные классы (viclass.ru), предназначенный для быстрого разворачивания и управления группами виртуальных машин. Я создавал его, главным образом, для облегчения преподавания компьютерных дисциплин, но применений ему можно найти множество и в других областях. Подробное описание сервиса находится по ссылке http://viclass.ru/description/.

Далее...

Скрипт динамического обновления зон DNS для работы через Яндекс API

Однажды возникла необходимость доступа из интернета через свой маршрутизатор к домашней сети. Пришлось вспомнить про динамический DNS, о котором я много слышал, но ни разу не применял на практике. Мои домены делегированы на Яндекс, поэтому всё предельно упрощается – нужно просто воспользоваться API Яндекса для обновления DNS-записи, привязанной к маршрутизатору. …

Далее...

Конфигурирование и подгрузка модулей Perl в Linux

Данную заметку меня побудили написать определённые сложности при выполнении одиночного скрипта на языке Perl. Казалось бы, интерпретатор языка уже установлен – бери и пользуйся. Да не тут то было. Хочу избавить других от грабель, по которым я ходил целый вечер. Начну с того, что Perl построен по модульной архитектуре и …

Далее...

Пример настройки Iptables с помощью TCP-флагов и модуля conntrack

В этой небольшой заметке я расскажу о принципах работы брандмауэра Iptables на примере фильтрации пакетов с помощью TCP-флагов и с помощью модуля определения состояний conntrack. Она рассчитана на тех, кто уже знаком с Iptables и желает глубже понять логику его функционирования. Разрешение WEB-трафика с помощью TCP-флагов Допустим, что на нашем …

Далее...

Подробный анализ прав доступа к папкам и файлам в Linux

В Linux владелец и права на объекты файловой системы задаются и определяются рядом факторов, которые хорошо поддаются систематизации и не допускают неоднозначности толкования. Давайте по-порядку разберёмся с ними на конкретных примерах. Я думаю, что многие, прочитав эту статью, будут по крайней мере удивлены, что с правами в Linux всё обстоит …

Далее...

SAMBA: организация доступа к подпапкам через единую точку входа

Задача: обеспечить такой общий доступ к файлам с помощью SAMBA, чтобы люди с других машин могли через специальную папку common заходить в только им разрешённые подпапки этой директории folderA и folderB, причём и у файлов и у папок требовалось обеспечить права по маске 770. То есть пользователи одной папки должны …

Далее...

Вычисление прав по маске Umask

По канонам Unix вновь создаваемым файлам и папкам присваиваются права по умолчанию в зависимости от маски umask, которая назначается каждому пользователю в его конфигурационном файле bash_profile. Узнать текущее значение umask можно одноимённой командой: # umask 0022 Прежде чем переходить непосредственно к рассмотрению маски, отмечу, что максимально возможные права для файлов …

Далее...

Расширение прав в Linux с помощью Posix ACL

Как известно, традиционный для Unix подход в организации прав доступа в виде User:Group:Others вкупе с тремя дополнительными битами SUID, GUID и Sticky Bit не дают той гибкости, которая часто бывает нужна для решения конкретных задач. Слава Богу, для более тонкой настройки прав уже давно существует решение под названием Posix ACL, …

Далее...

Настройка утилиты screen в Linux

Создатели Screen называют утилиту менеджером (псевдо)терминалов. Идея в том, чтобы вместо нескольких терминалов, открытых для одновременной работы с разными пользовательскими программами например по ssh, обеспечить доступ к этим терминалам из одного единственного терминала, как если бы мы работали в «настоящем» TTY и переключались из одного в другой клавишами Alt-Fn.

Далее...

Скрипт локализации серверной Ubuntu

Если вам принципиально важен русский язык в консоли серверной Ubuntu, то систему необходимо локализовать, поскольку по умолчанию в Ubuntu установлен английский язык. Текущие языковые настройки консоли (так называемую «локаль») в любой момент можно определить с помощью команды locale:

Далее...

Решение проблемы с несохранением вложенных меню в WordPress и настроек JCE в Joomla!

Не так давно один из клиентов моего хостинга пожаловался на невозможность сохранения вложенных меню на своём сайте WordPress. В качестве возможной причины он назвал слишком малое значение параметра max_input_vars в PHP. Проверка показала, что в настройках свежеустановленного PHP это значение по умолчанию равно 1000, тогда как для стабильной работы сайтов …

Далее...

Команда «.» (точка) в Linux

Команда «.» (точка) часто используется в шелл-скриптах, однако не все знают, что это синоним команды source, встроенной в оболочку bash. Обычно говорят, что она используется для включения (подключения, «инклудинга») неких внешних файлов внутри скрипта. Рассмотрим в чём заключается суть такого подключения на примере файла .bash_profile:

Далее...

Удаление ненужного ядра одной строкой в Ubuntu

Однажы после установки очередной серверной Ubuntu 14.04 я обновил ядро и решил удалить файлы старого ядра, которые занимали изрядно много места. Обычно в этом случае идут в каталог /boot, узнают версии файлов, прописывают их в командной строке, одним словом всё очень муторно и неудобно. Я задался целью минимизировать процедуру удаления …

Далее...

Планировщики Cron и Anacron

В Linux (и в целом в Unix) предусмотрены два планировщика запуска скриптов по расписанию — Cron (синхронный) и Anacron (асинхронный или анахроничный). Если Cron предназначен для периодического запуска задач в заданный МОМЕНТ времени, то Anacron выполняет задачи в указанный ИНТЕРВАЛ времени.

Далее...
Do NOT follow this link or you will be banned from the site!