53RC

23 июня 2009. php.

На мою дняффку пришли по запросу «php 5.3 не ставится на windows». Странно, я ничего такого здесь не писал, видимо гугл научился читать мысли.

Потому что, да, не ставится он нифига на windows. Прошлогодняя альфа ставилась, а RC не ставятся. Ни RC2, ни RC3, ни RC4. Ни «Non Thread Safe», ни «Thread Safe». Ни «VC9 x86», ни «VC6 x86». Ни zip, ни installer.

Не сказать, что я очень сильно пытался, но FastCGI на апач поставить умудрился, всё равно не помогло.

А кто ещё пробовал?

PHP Extension: Date/Time

11 июня 2009. extension,php (, , ).

Что-то я совсем разленился и перестал быть в курсе нововведений в PHP. Дабы исправить это, я решил перечитать документацию по всем расширениям языка. А заодно и вывалить краткие отчёты по этому на головы моих неподготовленных читателей. Может быть, для других лентяев что-нибудь окажется полезным.

Сегодня рассмотрим новые (относительно) средства для работы со временем, появившиеся в PHP 5.2 (с 5.1 в ранге экспериментальных). Для меня, в большинстве случаев, работа с ними, заканчивается на вызове в начале программы date_default_timezone_set(), иначе при E_STRICT выскакивает предупреждение.

Однако, новые средства довольно забавны и, вполне, могут сделать жизнь проще и веселее.

(Остальной текст под катом)

?

Того же дня. php ().

Почему во всех дистрибутивах 5-го PHP по Windows, все dll-ки расширений лежать в каталоге ext и при этом авторы упорно пишут в php.ini:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"
???

Мировые новости за неделю

За последнюю неделю из мира IT приходили воодушевляющие и обнадёживающие вести.

На конференции разработчиков Google был продемонстрирован самый амбициозный проект — Google Wave. Гугловейв — новое слово в развитии мировой цивилизации. По задумке он должен заменить человечеству электронную почту, чаты, телефон, телеграф, пищу и отправление физиологических потребностей.

В тоже время вышла Opera 10 Beta 1. Среди приятных нововведений: улучшения, увеличения, опять улучшения и огромные шаги.

Не отстаёт и Safari, добравшаяся до 4 версии. Новая версия в сто тыщ миллионов раз быстрее Internet Explorer и Mozilla Firefox, рендеринг же страниц ведётся на скорости, превосходящей скорость электромагнитного излучения.

Но больше всех порадовал ведущий сайт PHP-флудеров своей новой психоделической версией главной страницы.

Не стоит на месте и наш ресурс. В последнии дни он сумел занять первое место в выдаче Google по запросу «ебь» и попасть на вершины Яндекса по «ненавижу группу Гражданская Оборона». Хотя Яндекс опять всё не так понял, но в силу его размеров и массы, это уже не его проблемы.

Так же мой блог сменил RSS на Feedburner. Как заявляют эксперты, специальный плагин позволяет не изменять адреса ленты, благодаря чему все бесчисленные триллионы моих подписчиков не будут вынуждены переподписываться.

Это были мировые новости. Спасибо за то, что были с нами.

53

8 июня 2009. php.

На главной PHP.NET в плашке «Current release candidates» PHP 5.3 тихо заменён на PHP 5.2.10

Эмулятор php_memcached на PHP

Как неоднократно здесь писалось, новое расширение php_memcached лучше старого php_memcache практически всем, за исключением одного — нет Windows-версии. Что сильно напрягает при разработке и отладке.

Так как не было желания ставить себе Visual C и разбираться, как компилировать это расширение, я написал обёртку на PHP.

Просмотреть исходный код можно здесь (43 K), а скачать в архиве здесь (8 K)

В эмуляторе полностью воспроизведён интерфейс Memcached-класса, а работа по возможности приближена к работе реального расширения.

Так же в комментариях исходника переведена документация к методам, константам опций и результатов и даны свои комментарии. Так что код можно использовать просто вместо русскоязычной документации.

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

Работает эмулятор через старое расширение php_memcache, поэтому оно должно быть установлено.

(Остальной текст под катом)

Преобразование типов в memcached

Того же дня. Новости (, , ).

Мемкэш жжот просто нипадецки. Протестируем один сценарий для трёх расширений PHP:

  1. Старенький php_memcache.dll на моей локалке под Windows
  2. Тот же php_memcache только под FreeBSD
  3. Новое расширение php_memcached

(Остальной текст под катом)

call_user_fuck()

В callback-функции нельзя по человечески передать аргумент по ссылке.

function func($x, &$y) {
    $y = $x * 2;
}
 
$callback = 'func';
$x = 5;
 
call_user_func($callback, $x, &$y);
$callback($x, &$y);

Оба раза это сработает правильно, но оба раза вылетит Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration …. Да, сейчас я побегу модифицировать декларацию call_user_func() и runtime function name

Параметр allow_call_time_pass_reference нельзя выключить на время через ini_set(). Не помогает здесь и @call_user_func(...): предупреждение вываливается ни при вызове, а при подключении файла, спасёт только @require(...).

А если это библиотека для распространения, то запись в документации подключайте только с отключённым выводом ошибок не лучшая реклама. Единственный вариант — старый добрый eval() с извинениями и объяснениями в коде.

СЕО

Того же дня. Новости ().

Отличный способ наполнения контента: http://maxyc.ru/2009/03/25/memcache-vs-memcached/.

Не только стырить чужую статью, но и активно беседовать со роботами.

Антиспам своими руками


изображение потырено с Вики

Итак, всего за несколько месяцев мой уютный дневничок стал невероятно популярным. Каждый день сюда заходит до десяти человек и оставляется около тридцати комментариев к статьям. Люди случайно попадают сюда из поисковиков, а комментарии оставляют спам-боты.

Несмотря на обычно хвалебный тон спамеров, забавная поначалу переписка с ними быстро утомляет. Включение премодерации спасает от спама простых посетителей, но не меня — приходится ежедневно проверять кучу писем. Ввести капчу — издевательство над нормальными читателями, банить по IP — скорее забаним нормального человека чем ботов с их бесконечными прокси.

Есть достаточное количество плагинов к wordpress для борьбы со спамом. Но в них нужно разбираться, они притормаживают работу сайта (иногда очень сильно) и далеко не всегда дают полный эффект.

На самом деле всё делается достаточно просто, безо всяких плагинов, своими руками.



(Остальной текст под катом)

По страницам: 1234567891011

© Я не я и сайта не моя, 2008–2012