?

Log in

No account? Create an account

xyzya


Petka Sokolnikov

блог обыкновенного фрилансера


Jetbrains PhpStorm 9 released!
xyzya

banner_phpstorm9_index

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Fatal error: Call-time pass-by-reference has been removed
xyzya

Каждое новое обновление серверного программного обеспечения — это упражнение из области «и хочется, и колется…». Так и я решил наконец-таки устаревающий PHP5.2 оставить в прошлом (ведь он не умеет работать с многими новомодными плюшками), и перейти на PHP5.4.

Таким образом был обновлен PHP на одном из боевых серверов (с полутора дясятком разного рода сайтов). Реакция клиентов не заставила себя долго ждать, и сразу посыпались жалобы на поломанный в разных местах функционал.

Расскажу об одной из причин, вдруг кому-то пригодится.

Выполнение некоторых участков кода заваливалось с ошибкой «Fatal error: Call-time pass-by-reference has been removed in … «.

Оказалось, что новый PHP не разрешает использовать ссылку (&$arg) в вызове функции. К слову, PHP и раньше мог ругаться на такую конструкцию, правда всего-лишь на уровне Warning’ов. Новый PHP оказался строже, отдавая Fatal error при выполнении.

В это же время использование ссылки на аргумент в объявлении функции допускается и приветствуется.

Резюмирую.

Стоит избегать конструкций:

1
myFunc($arg1, &$arg2);

А использовать:

1
function myFunc($arg1, &$arg2) {}
Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.
Tags:

fpdf (ufpdf) «fatal error: allowed memory size of…»
xyzya

В текущем проекте появилась необходимость делать экспорт некоторых документов в PDF. Один из лучших классов, существующих на сегодняшний день — fpdf. А если вам понадобится работать с кирилицей (utf-8), тогда вам понадобится ufpdf.
В один прекрасный момент работы с этим классом, я столкнулся с тем, что периодически и безсистемно при генерировании pdf-документа fpdf падает с ошибкой «fatal error: allowed memory size of…».
Погуглив нашел упоминания в сети о похожей проблеме, связанной с использованием колонтитулов в документе. Но в моих документах они не используются, и поэтому пришлось искать дальше. Ничего не нагуглив, начал искать ошибку методом исключения.
Ошибка оказалась в следующем. fpdf почему-то не очень любит вставлять изображения из сети, например:

$pdf->Image('http://yandex.st/morda-logo/i/l-logo-ua.png',10,80,'160','','PNG','');

Проблема решается просто. Изображение перед вставкой в документ надо сохранить на сервер любым способом (fopen(), file_get_contents(), etc..), и вставлять в документ уже из локального каталога.

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.
Tags: ,

Небольшая верстка CSS3+XHTML.
xyzya

Стал перед выбором или делать полную поддержку IE, или же чистый красивый код с возможностями CSS3. Выбрал второе.

Саму верстку можно посмотреть по адресу http://portfolio.xyz.net.ua/tavrida/

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Рождественская история, современный взгляд.
xyzya

Много раз на протяжении праздников наталкивался на этот ролик, но посмотрел только сегодня. Отличная идея, создатели этого видео — молодцы. Рождественская история через призму современности. Пример того, как можно постараться передать Евангелие нынешней молодежи, не исказив при этом сути. 2000 лет назад Спаситель пришел в мир так же тихо, без царских почестей, об этом знал только определенный круг людей.

Он, по природе Бог, не держался за равенство с Богом, но добровольно лишился всего, приняв природу раба и человеком родившись. Он был во всем человеку подобен, но еще больше себя умалил и так был послушен, что принял и смерть саму – смерть на кресте. За это Бог вознес Его над всеми и Имя даровал превыше всех имен, чтобы пред именем Иисуса всякое колено преклонилось – на небе, на земле и в преисподней – и всяк язык провозгласил, что Иисус Христос – Господь, во славу Бога Отца.
Библия, современный перевод. Послание Филиппийцам 2:6-11.

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Автоматический выбор необходимой пользователю языковой версии сайта на PHP
xyzya

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

Read the rest of this entry »Collapse )Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Автоматическое создание субдоменов в Apache2
xyzya

Мне приходится работать с движками многих сайтов, постоянно появляются для обслуживания новые, и уходят в архивное забвение старые. Поэтому часто добавляются новые блоки виртуалхостов в конфиге Апача, и сам конфиг уже изрядно раздулся.
Появилась минутка свободного времени, и я решил навести порядок в этом безобразии. Захотелось сделать так, чтобы для добавления нового сайта, было достаточно создать директорию, и прописать новый хост в /etc/hosts, а не повторять каждый раз монотонную операцию добавления и редактирования блоков <VirtualHost>.
По сути теперь у меня есть основной домен, и к нему автоматически добавляются субдомены, по которым и грузятся разные сайты с локальной машины.

Читать запись полностью »Collapse )Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Tags: , ,

Есть нужда
xyzya

У моего хорошего старого друга Алексея — беда. У его жены обнаружили рак. Всем кто захочет и сможет помочь финансово или молитвенно всю информацию и историю их борьбы с болезнью можете получить тут: http://anexus.livejournal.com/. За достоверность информации ручаюсь лично.

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.

Украина во всей красе.
xyzya
Красивый рекламный ролик Украины. Но как и любая другая реклама, этот ролик показывает только одну сторону медали. Он показывает Украину такой, какой ее не знают даже многие из украинцев.


Небо над Европой отдыхает
xyzya

Когда еще такое можно увидеть? Небо над Европой свободно от техники.

Это ясно показывает, что есть множество вещей, неподвластных человеку.

Это сообщение опубликованно в моём основном блоге. Вы можете комментировать как и тут, так и напрямую под сообщением в блоге.