Tag Archives: php
PHP coding style
Описал часть своего code style для PHP. To be updated.
PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0
Отличная ошибка, на которую обычно просто «забивают», т. к. не понятно, где и что искать. А ошибка вызвана тем, что в кастомном обработчике исключений происходит исключение, после чего php прерывает процесс с таким замечательным и информативным сообщением об ошибке. В моём случае это было своё расширение для класса DateTime public function __construct( $Time = ‘now’, …
Бесплатный хостинг с Django
https://www.alwaysdata.com/plans/shared/ Языки: PHP, Python, Ruby, Perl, Java, Lua, OCaml, Erlang; фреймворки: Джанго, Рельсы и symfony (PHP). Сам не пробовал, но слышал. Минусы — под код дают целых 10 Мб дискового пространства и гигабайт трафика в месяц.
Познавательное обсуждение о том, почему всё нужно собирать руками
Тут у человека систематически виснет fpm, попытки это вылечить и самый дельный совет — «собирать нужный софт для production-сервера нужно руками». http://phpclub.ru/talk/threads/%D0%B7%D0%B0%D0%B2%D0%B8%D1%81-fpm.66810/
Проблема при работе с расширением memcached в php
Работал раньше сайт с memcache. Решили перейти на memcached. И повалились ошибки SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY, причём сначала одна CLIENT ERROR, а уже потом куча SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY. Гугление ничего не дало, а проблема оказалась в следующем: первая ошибка возникала из-за некорректного ключа (пробел …
Новое в PHP 5.4 — трейты (traits)
Вкратце: трейт (аналог mixin в Ruby) — возможность в классе использовать функционал нескольких классов в обход традиционного наследования (по-моему, костыль, чтобы не реализовывать множественное наследование). Всё сводится к новой инструкции use внутри класса, при этом класс, функциональность которого нужно подмешивать. объявляется инструкцией trait. trait Singleton { public static function getInstance() { … } } class …
Трассировка PHP-приложений с помощью xdebug
Вот достаточно подробная статья на эту тему. В принципе достаточно написать xdebug_start_trace(‘<Путь-к файлу>.html’, XDEBUG_TRACE_HTML); … … xdebug_stop_trace();
Заголовки на скачивание файла
Чтобы при обращении по данному урлу браузер выдавал запрос на сохранение файла, нужно передать заголовки. Для этого достаточно только одного заголовка «Content-Disposition: attachment; filename=\»myfile.csv\»\r\n»
Виртуальные хосты на nginx
В двух местах прописываем.
Дружим nginx и php-fpm
Мы уже установили nginx и php-fpm. К этому моменту при обращении к http://localhost/ выводится Welcome to nginx!, а через CLI запускаются php-скрипты. Самое время намекнуть nginx, где искать php-fpm.