-
Php. PDO. Как показать ошибки запросов?
При работе с PDO на php по умолчанию выключен вывод ошибок запросов, поэтому запросы, которые не выполнились просто скрываются от наших глаз, что не есть хорошо. Чтобы исправить это поведение следует после подключения PDO указать параметр PDO::ATTR_ERRMODE, который должен быть равен PDO::ERRMODE_EXCEPTION. Например вот так: $pdo = new PDO(‘mysql:host=localhost;dbname=somedatabase;charset=utf8’, ‘user’, ‘pass’); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
Yii2. Как настроить отправку почты через SMTP?
В этой короткой заметке расскажу, как настроить отправку почты через SMTP, используя коробочный майлер yii2 — swiftmailer. Итак, в конфиге Вашего приложения поправьте параметры компонента mailer. ‘mailer’ => [ ‘class’ => ‘yii\swiftmailer\Mailer’, ‘transport’ => [ ‘class’ => ‘Swift_SmtpTransport’, ‘host’ => ‘localhost’, // хост почтовго сервера ‘username’ => ‘username’, // имя пользователя ‘password’ => ‘password’, //…
-
Yii2. Как указать имя отправителя в SwiftMailer?
В документации по коробочному майлеру yii2 нет нормального примера, как добавить имя отправителя к письму — только email. При этом указание интуитивного варианта ‘Some Name ‘ приводит к ошибке о несоответствии формата email. Решение оказалось достаточно простым. Для указания валидного формата используйте пример, указаный ниже: \Yii::$app->mailer->compose()->setFrom([«some@mail.com»=>»Some Name»])
-
Php. Как узнать ключ массива по значению?
Определить ключ по значению очень частая задача, которая, несмотря на нативное ее решение средствами языка, вызывает много вопросов. Приходилось мне видеть много советов и даже решений в живых проектах, где для поиска ключа используют алгоритмы, смещения массива и т.д. Честно, подобные движения вызывают улыбку. Итак, решением является функция array_search. Она осуществляет поиск значения и, если…
-
Yii2. Как установить контроллер по умолчанию?
Установка контроллера по умолчанию в Yii первой версии была очевидной — т.к. использовался параметр defaultController, который в Yii2 отсутствует. Впрочем, он никуда не делся — просто получил новое имя — и теперь зовется defaultRoute. Т.е. для установки контроллера по умолчанию достаточно в конфиге приложения указать следующие строки: ‘defaultRoute’ => ‘dashboard/index’
-
Php. Как запустить программу (процесс) в фоне?
Метод exec и ему подобные, как известно, ожидают выполнения запущенного приложения, тем самым задерживая выполнение основного скрипта. Это не есть хорошо и даже непозволительно. Сегодня, столкнувшись с необходимостью запуска скрипта с удаленного сервера для генерации отчета нашел подходящее мне решение. На уникальность и предельную красоту не претендую. Привожу в качестве примера, в какую сторону можно…
-
Php. Логирование отправки почты (mail).
При использовании функции mail() важно видеть log, для правильного понимания источника ее вызова, адресатов, всех заголовков и т.д. Для этого в настройках php следует включить логирование отправки почты функцией mail(). Итак, идем в файл php.ini (о том, как найти этот файл я писал здесь). В нем нужно найти и раскоментировать (или добавить в случае отсутствия)…
-
Ubuntu. Как искать по содержимому файлов?
Всегда удобно использовать программные средства для привычных и обыденных задач — например поиск файлов или текста (содержимого) этих файлов. Гораздо интереснее, когда подобная задача стоит, когда у Вас под рукой только консоль. Но не беда — в этой статье я покажу, как искать по содержимому, используя консоль Ubuntu. Итак, все гениальное просто. Первый пример —…
-
Yii2. Ошибка «You should configure «authManager» component to use database before executing this migration»
При попытке реализовать миграцию у многих возникает ошибка «You should configure «authManager» component to use database before executing this migration». Она говорит нам о том, что следует сначала заполнить конфигурационный файл. Суть в том, что во многих мануалах по настройке RBAC сказано просто «укажите authManager в конфиге компонентов», но при этом упускается необходимость заполнения этого…
-
jQuery. Ошибка $.browser is undefined.
Возникновение ошибки связано с переходной версией jQuery 1.9 у которой есть критические исправления, несовместимые с предыдущими версиями. Совет один и простой — пользуйтесь новыми версиями. Но, если выхода нет и вопрос стоит ребром — попробуйте решить проблему подключением еще одного скрипта: Его задача — решать именно проблемы совместимости старых и новых версий. В моем случае,…
