10.07 2010

Установка и настройка XDebug на Linux (Ubuntu 10.04)

Если вы программируете не первый день, то наверняка слышали про xdebug, средство отладки для PHP. Его использование изрядно упрощает жизнь, помогает быстрее отыскивать баги и соответственно их устранять. Помимо отладки, это расширение позволяет производить профилирование, трассировку, подсчет покрытия кода, а также делать красивый форматированный вывод исключений и [vardump](http://php.net/vardump) =)

Читать дальше
03.07 2010

Установка Redis на CentOS 5,6 и Ubuntu

Во время отладки и оптимизации зачастую встает вопрос грамотного профилирования запросов в базу данных, вывод отладочной информации и просто логирования. В таких случаях крайне полезным может оказаться FirePHP, дополнение к небезызвестному FireBug. К счастью разработчики zend позаботились об этом, и нам не надо изобретать велосипед или подставлять костыли для этого. Достаточно использовать расширения стандартных классов логирования и профилирования.

Читать дальше
20.06 2010

Соединение с MySQL через SSH

Если перед вами встала задача соединиться с удаленной базой данной, которая, по очевидным причинам, не доступна извне, то я могу предложить вам по крайней мере 3 варианта решения этой проблемы.

  • Открыть к ней доступ извне, тем самым снизив уровень безопасности.
  • Соединиться через ssh и выполнять команды вида:

    echo "SELECT * FROM table" | mysql

  • Сделать проброс соединения через SSH

Так как первых два варианта глупые чуть более, чем полностью, остановимся на третьем. Для этого нам понадобится выполнить всего одну команду в консоле:

ssh -L 3307:localhost:3306 [email protected]

Где 3307 - локальный порт, к которому нужно присоединяться из PHP, localhost - локальный хост, 3306 - удаленный порт, [email protected] - пользователь@удаленный хост

Подводные камни

  1. Команду нужно выполнять после каждого перезапуска сервера и контролировать работоспособность
  2. Время отклика возрастет, так как добавятся накладные расходы на шифрование/расшифровывание
  3. На локальном компьютере появится уязвимость удаленного сервера, так как есть прямой проброс соединения. Так что следует для порта 3307 заблокировать доступ извне через iptable или брандмауэр
Читать дальше