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» styleuser-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 overriddenby user-defined ini-files or during runtime.
Этого мне нехватало куда больше, чем пространств имён и «?:», который там тоже появятся. По правде говоря, там есть ещё более значительное для меня изменение — Late Static Binding вкупе с __callstatic и $foo:myFunc(). Или даже «Improved PHP runtime speed and memory usage: Added garbage collector».
Комментарии 12
isset($a) ?: 'default';
хотя мне вообще категорически нравится 5.3. Очень правильный и интересный релиз
не… не путай :)
там всегда был простой сборщик мусора, который чистил память по выходу из метода/функции и иногда в другое время, но: он был простой (освобождал то, на что явно никто не ссылается)
в 5.3 же появился сборщик для неиспользуемых структур с циклическими ссылками
Вот оно что. А когда срабатывает этот «простой» и тот что появился? С одной стороны, конечно есть функция memory_max_usage, а с другой — память иногда не освобождается даже на каких простых вещах, вроде удаления массивов скаляных типов без ссылок.
Я даже запускать не буду — верю что освобождается. Я говорю о том, что иногда этого не происходило.