Роман Теличко

Блог о программировании, оптимизации и администрировании

Тег php

Настройка nginx + php5-fpm под Linux/Debian

// 15 декабря, 2013 | 26027 просмотров | 29 комментариев

Сегодня я расскажу как настроить связку nginx + php5-fpm под Debian.

Начнём с инсталляции nginx.
И тут же мы сталкиваемся с тем, какой именно пакет ставить, т.к. их существует аж три:

  • nginx-light
  • nginx-full
  • nginx-extras

Отличаются они только поставкой дополнительных модулей.
Вызовем описание пакета nginx-light

aptitude show nginx-light

aptitude покажет какие именно дополнительные модули входят в «лёгкую» версию nginx

STANDARD HTTP MODULES : Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, 
                        Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream. 
OPTIONAL HTTP MODULES : Gzip Precompression, IPv6, SSL, Stub Status.  
THIRD PARTY MODULES   : Echo.

А теперь для сравнения выведем список модулей «расширенной» версии nginx

aptitude show nginx-extras
STANDARD HTTP MODULES : Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, 
                        FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, 
                        Map, Memcached, Proxy, Referer, Rewrite, SCGI, Split Clients, SSI, 
                        Upstream, User ID, UWSGI.  
OPTIONAL HTTP MODULES : Addition, Debug, Embedded Perl, FLV, GeoIP, Gzip Precompression, 
                        Image Filter, IPv6, MP4, Random Index, Real IP, Secure Link, SSL, 
                        Stub Status, Substitution, WebDAV, XSLT. 
MAIL MODULES          : Mail Core, IMAP, POP3, SMTP, SSL. 
THIRD PARTY MODULES   : Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua, HttpHeadersMore, 
                        http push, Nginx Development Kit, Upload module, Upload Progress, 
                        Upstream Fair Queue.

Как видите, список модулей и дополнений впечатляет.
С их подробной конфигурацией вы можете ознакомиться здесь и здесь.
Я рекомендую ставить nginx-light, т.к. чем меньше будет доставлено пакетов, тем меньше памяти будет «кушать» ядро nginx. Но также необходимо учитывать нужные модули для работы.
Читать далее…

WordPress: AJAX Hits Counter и мои первые 10.000 скачиваний

// 9 сентября, 2013 | 1072 просмотров | комментариев (1)

Идея плагина родилась в августе 2012, когда возникла необходимость вывода популярных записей блога с последующим кэшированием как самого виджета, так и скрипта добавления "+1" просмотрам.

Произведя ресёрч по существующим плагинам, я понял что аналогов с таким функционалом ну просто нет. В основном всё считается запуском какой-то php-функции плагина, что конечно же не будет работать при кэшировании страниц nginx’ом (когда до PHP дело вообще не доходит).

Выходом из этой ситуации был только AJAX-скрипт, что вызывался бы при отображении поста с рандомными параметрами для исключения возможности кэширования по URL. Также это будет означать, что спам-боты, поисковые роботы и прочие без-JavaScript-овые клиенты учитываться не будут, что предполагает более точную статистику.

Опыта написаний плагинов для WordPress к тому времени у меня вообще не было, но я решил его сделать. Это было немного больше чем год назад.
Читать далее…

Логирование PHP скриптов отправляющих почту

// 16 июня, 2013 | 15120 просмотров | комментариев (0)

Сегодня я расскажу как можно вести лог скриптов, что отправляют почту методами PHP.
Это удобно, если у вас на сервере поселился спаммер и вы не знаете где его искать, т.к. сами пути запускающих скриптов по-умолчанию не падают в /var/log/syslog или в /var/log/mail.log. Читать далее…

ТОП 16 PHP функций, что я использую каждый день

// 30 марта, 2013 | 3992 просмотров | комментариев (0)

Решил написать ТОП 16 PHP функций, что я использую каждый день.
Будет полезно как начинающим разработчикам, так и профессионалам (хотя у них этот список может отличаться).
Это MUST HAVE функции, что обязательно нужно знать и уметь ими оперировать.
Читать далее…

PHP. Достаём данные из Google Analytics через API используя Service Account

// 22 января, 2013 | 12296 просмотров | 3 комментария

Сегодня я хотел бы поделиться знаниями по извлечении данных из Google Analytics, используя их API v3 на стороне сервера (server-side), т.е. без участия браузера пользователя.
Самое странное, что в Сети в основном описаны все примеры с использованием эмуляции браузера и аккаунта пользователя (пара email+пароль). Мы так делать не будем, т.к. это глупо и не красиво 🙂
Приступим.
Читать далее…

PHP 5.4 в Ubuntu 12.04

// 12 марта, 2012 | 1141 просмотров | комментариев (0)

Добавляем репозиторий ppa:ondrej/php5

sudo add-apt-repository ppa:ondrej/php5

Обновляемся и ставим php 5.4 (если ещё нет)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5

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

// 2 февраля, 2012 | 136 просмотров | комментариев (0)

php -q script.php < /dev/null > script.log &

Перепост: Битовые операции в PHP на примерах

// 13 декабря, 2011 | 314 просмотров | комментариев (0)

Навеяно статьей об обработке критических ошибок в PHP. Обратил внимание, что несмотря на то, что коды ошибок в PHP специально заточены под битовые операции, тем не менее, что в примерах статьи, что в комментариях, для проверки кодов ошибок используются обычные операторы сравнения.

Например, встречались такие варианты:

if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR) { ... }

или

if(in_array($error['type'], array(E_ERROR, E_PARSE, E_COMPILE_ERROR)) { ... }

В связи с этим решил написать небольшую статью о битовых операциях с примерами их использования.
Читать далее…

Календарь на 2013 год без букв

// 3 ноября, 2011 | 167 просмотров | комментариев (0)

Довольно простая идея календаря — каждая строка отвечает за месяц, а столбец за день/число.
Числа, написанные большим размером шрифта, отвечают за выходные дни.

Календарь автоматически перестраивается каждый год.

Посмотрите здесь: NumsCalendar.rkbs.net
Читать далее…

Перепост: Сборник советов и фактов по оптимизации PHP-скриптов

// 26 января, 2011 | 276 просмотров | комментариев (0)

Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать далее…