PHP 5.3.0: Прощай .htaccess

Я уже достаточно давно работаю в конфигурации nginx + FastCGI PHP (без Apache в качестве backend). Это более эффективно — экономит память и система, в целом, более устойчива, производительна, легче в управлении (приходится конфигурировать один сервер, а не два). Единственное, чего нехватало — настройки PHP для определённого хоста (так называемые «Local Value» в phpinfo).

Так вот, в PHP 5.3.0 ситуация изменится:

— Improved php.ini handling: (Jani)
. Added «.htaccess» style user-defined php.ini files support for CGI/FastCGI
. Added support for special [PATH=/opt/httpd/www.example.com/] and [HOST=www.example.com] sections. Directives set in these sections can not be overridden by user-defined ini-files or during runtime.

Этого мне нехватало куда больше, чем пространств имён и «?:», который там тоже появятся. По правде говоря, там есть ещё более значительное для меня изменение — Late Static Binding вкупе с __callstatic и $foo:myFunc(). Или даже «Improved PHP runtime speed and memory usage: Added garbage collector».

Комментарии 12

siberian-husky.livejournal.com № 1
А разве htscanner не умел «настройки PHP для определённого хоста»?
Евгений Степанищев (bolknote.ru) автор № 2
Умел. Но это несколько перанально и на скорости сказывается — в любой папке оно ищет файл и читает его при запуске.
indeyets.livejournal.com № 4
А по мне, так garbage collector важнее :-)

хотя мне вообще категорически нравится 5.3. Очень правильный и интересный релиз
Евгений Степанищев (bolknote.ru) автор № 5
Да-да, поддерживаю — очень интересный релиз. Кстати, мне всегда казалось, что garbage collection в PHP есть, кажется, я где-то это прочитал. И я очень недоумевал, когда обнаруживал, что unset достаточно больших вещей ничего не даёт.
indeyets.livejournal.com № 6
Комментарий для Евгения Степанищева:

не… не путай :)
там всегда был простой сборщик мусора, который чистил память по выходу из метода/функции и иногда в другое время, но: он был простой (освобождал то, на что явно никто не ссылается)

в 5.3 же появился сборщик для неиспользуемых структур с циклическими ссылками (такой-же пару лет назад появился в python, например)
Евгений Степанищев (bolknote.ru) автор № 7
Комментарий для indeyets.livejournal.com:

Вот оно что. А когда срабатывает этот «простой» и тот что появился? С одной стороны, конечно есть функция memory_max_usage, а с другой — память иногда не освобождается даже на каких простых вещах, вроде удаления массивов скаляных типов без ссылок.
Евгений Степанищев (bolknote.ru) автор № 9
Комментарий для indeyets.livejournal.com:

Я даже запускать не буду — верю что освобождается. Я говорю о том, что иногда этого не происходило.