PHP 5.4 что нового — 10 новых возможностей

В кратце что нового в php 5.4.

Появились примеси (трейты). 

trait LoggerTrait
{
	public function log($string)
	{
		file_put_contents('/tmp/log', $string);
	}
}

Трэйты предназначены для обхода множественного наследования, которое не поддерживается в php.

Краткая запись массивов с помощью квадратных скобок без использования ключего слова array:

$arr = ['value'];
$arr = array('value'); // старая запись естественно тоже работает

 

Тюнинг rabbitMQ

Socket error: could not connect to host.

Как избавиться от таких ошибок в rabbitMQ?

Во-первых, нужно посмотреть сколько для rabbit доступно открытых файлов (см. file descriptors и socket descriptors).

Баги вёрстки на Facebook в Chrome

Сегодня в моём Google Chrome сыпется вёрстка в очень популярной социальной сети - Facebook. На мой взгляд это очень серьёзный баг для такого гиганта. Версия хрома 48.0.2564.82 Ubuntu 14.04 (64-bit).

Очистка кэша и множественные перезагрузки страниц не помогают исправить проблему. Прилагаю скриншоты.

Mysql перенос таблиц из одной базы данных в другую

Делаем дамп таблицы с помощью mysqldump и сразу же отправляем его в другую базу данных:

mysqldump -uroot database1 my_table | mysql -u root database2

Кракозябры в консоли linux - сломалась кодировка?

Я лазил по серверу, предварительно подключившись по ssh. Я просмотривал через утилиту tailf содержимое файлов. В файлах присутствовали бинарные данные. В какой то момент что то сломалось и всё стало отображаться кракозябрами:

Слетела кодировка в консоли linux после просмотра бинарных файлов (крокозябры).

Очередной новый развод через skype

Не прошло и пол года после skype-развода от Аманда, как в skype стучится очередной бот под логином calgurl.celebration1 и снова пытается развести на посещение сайтов для взрослых и оплаты услуг. Использует новый сленг:)

Посмотрим, что на этот раз skype-бот предлагает.

Здоровается. Говорит, что некоторое время назад сохранила мой логин, нашла логин на сайтах знакомств, точно не помнит как.

recently i got out of a relationship and i was hitting up guys i thought were cute lol...so u single

Недавно у неё закончились отношения. Видимо с ёе парнем.

im not married, and if you are who cares

Говорит, что она не замужем.

well either way its ok with me ;) BUT, you must be into blonde girls..are you?

Тут что то непонятное. Мне будет хорошо с ней. И почему то я должен быть блондинкой :)

Затем показывает картинку, которую она загрузила прошлой ночью.

curl-парсинг через tor proxy

Когда речь идёт о парсинге, то рано или поздно мы можем столкнуться с баном ip со стороны сервера. Поэтому в идеале нужно:

  • использовать большое количество ip-адресов
  • ставить все заголовки, которые ставит браузер (User-Аgent и др.)

Бесплатные списки proxy могут помочь при парсинге, но они очень часто не работают, или работают очень медленно или криво.

Разберём, как можно использовать tor вместо proxy. Или, скажем, так: curl tor proxy.

Доступ к mysql из-вне

Во-первых, изначально mysql слушает только localhost. Нужно исправить это в конфигурационном файле mysql my.cnf (обычно в линуксах путь /etc/mysql/my.cnf). В my.cnf находим строку:

bind-address = 127.0.0.1

И заменяем её на:

bind-address = 0.0.0.0

Теперь мы можем коннектиться к mysql с любого ip. При этом для супер-пользователя root доступ из-вне под пустым паролем остаётся закрыт.

Не устанавливается php 5.6 на debian

Если добавить в /etc/apt/sources.list:

deb http://cloudfront.debian.net/debian wheezy main
deb-src http://cloudfront.debian.net/debian wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb http://cloudfront.debian.net/debian wheezy-updates main
deb-src http://cloudfront.debian.net/debian wheezy-updates main

Затем сделать:

apt-get update
apt-get install php5-fpm

В результате установленная версия php всё ещё php 5.4:

$ php --version
PHP 5.4.45-1~dotdeb+7.1 (cli) (built: Sep  4 2015 23:38:46) 

 

Как грепнуть все ip из acces-лога

Постановка задачи.

Нужно получить все ip-адреса, которые имеются в access.log. Должна быть возможность считать кол-во ip-адресов, т.е. вывести количество уникальных ip.

Для чего это может быть нужным? Например, если api-сервер переезжает на новый адрес. На старый сервер по-прежнему приходят какие-то http-запросы. Нам нужно найти и вычленить все ip, которые до сих пор стучатся.

НОВЫЕ ПОЛЬЗОВАТЕЛИ