Отправка сообщений на Jabber из PHP

Сегодня я расскажу о немного необычном способе применения Jabber – службы мгновенных сообщений – для получения извещений о работе сайта и возможных неполадках в режиме реального времени. Все что для этого потребуется – получить один jabber-аккаунт на одном из серверов и добавить в код вашего сайта несколько дополнительных строчек на PHP. Это даст возможность узнать о возникновении различных ситуаций, которые требуют вмешательства веб-мастера или человека, который занимается поддержкой веб-сайта, в течении нескольких секунд. Возможный покупатель задал вопрос через форму обратной связи и ждет ответа? Или уже разместил заказ и ждет пока он будет обработан? Или наоборот, “легла” база данных и посетители не могут попасть на сайт? Добавьте несколько строк к коду ваших страниц и вы сможете узнать об этих событиях в течении нескольких секунд после того как это что-то случилось, а не минут или даже часов, как это порой бывает с извещениями по электронной почте.

Читать полностью »

Соединение с прокси-сервером через сокеты.

В веб-программировании при написании различных парсеров, граберов часто стоит задача скрыть настоящий адрес для того чтобы избежать ограничений, которые устанавливаются на количество запросов с одного ip адреса. Это легко достигается при использовании прокси-серверов. В сегодняшнем посте я покажу пример, как можно установить соединение с прокси-сервером из php-скрипта и передать http запрос используя сокеты. Это одновременно самый гибкий, но и самый сложный способ, который требует понимания протокола HTTP.

Читать полностью »

36 советов. Как писать быстрые PHP скрипты

Странно, что в русскоязычном интернете так мало внимания уделяется оптимизации быстродействия пхп-скриптов… Может быть, те кому важно быстродействие, вообще не пишут на пхп? Шутка :) Пожалуй, буду исправлять ситуацию… и начну с публикации этой небольшой подборки советов. Перечисленные в ней факты следует знать каждому пхп-программисту, который собирается писать скрипты хоть немного сложнее чем форма обратной связи на сайте :)

Читать полностью »

Установка Roadsend компилятора для языка PHP

Ура, дождались. Теперь программы написанные на языке PHP можно откомпилировать в обычный исполняемый файл так же как и программы на C, Pascal, Delphi и др. Все что для этого нужно – установить компилятор языка от Roadsend.

Читать полностью »

Простой парсер при помощи SimpleXML

Новички в программировании на PHP часто спрашивают в сети простой способ извлечь нужные данные из xml-документа. Но в ответ им почему-то часто советуют изучать DOM, SAX, предлагают разные запутанные способы разбора XML, основанные на событийной модели. Некоторые даже советуют устанавливать сторонние расширения!!!

Но ведь на самом деле в PHP все не так плохо! В самом php есть готовые и очень простые в использовании классы для работы с xml – это SimpleXML.

Читать полностью »

Hello World на PHP. Профессиональная версия.

Традиционно, изучение многих новых языков программирования начинается с написания маленькой программки, которая выводит одну-единственную строку “Hello, World”. В исполнении начинающего программиста эта программа, как правило, состоит из одной строки (echo “Hello world”; printf(“Hello, World”); writeln(‘Hello, World’); и так далее). А как выглядела бы эта программа, если бы такая задача стояла перед профессиональным программистом?

Читать полностью »

EAccelerator на веб-сервере. Разгоняем Джумлу.

В последнее время мне довелось сделать несколько сайтов на CMS Joomla1.5. В целом эта система оставила о себе очень приятные впечатления, если бы не одно НО – уж очень она медленная. Задержки, которые требовались системе на то чтобы сгенерировать страницу, ощущались даже на тестовой домашней машине. Основная причина низкой производительности заключалась в том, что скрипт Джумлы во время сборки страницы подключает множество дополнительных файлов, которые обычно разбросаны в разных каталогах и, таким образом, создает нагрузку на дисковую систему веб-сервера. Для увеличения быстродействия Joomla существует множество способов, начиная от включения кеширования созданных страниц в админке системы до таких радикальных методов как установка специальных кеширующих расширений на сам веб-сервер. В сегодняшнем посте я рассмотрю одно из таких расширений – eAccelerator

Читать полностью »

Установка и использование bcompiler’a на Debian Lenny

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

Во-первых, в репозитории (основном) пакета bcompiler, как ни странно, нет. Искать где-то пакеты от сторонних сборщиков, которые не прошли проверку в коммьюнити, для установки на боевой сервер мне было стремно. Пришлось по старинке собирать из исходников…

Читать полностью »

12 фактов, которые вам следует знать о PHP

От переводчика: Статья попалась в англоязычном интернете, показалась забавной и я решил выложить ее перевод в блоге. Особенно понравилось последнее утверждение ;)

Вы все еще думаете что PHP – это язык программирования, который можно использовать только для WEB, и для “настоящих задач” он не подходит? Во времена PHP2.0 с этим еще можно было бы согласиться, но сейчас это уже не так. Вот 12 фактов, которые вам следует знать:

Читать полностью »

Глюки Яндекса

Сегодня пытался зарегистрировать новый сайт в Яндексе. Для этого нужно было пройти процедуру подтверждения сайта. Как обычно, выбираю способ с размещением файла с указанным Яндексом именем в корне сайта, создаю файл на хостинге и жду. Яндекс после долгого размышления сообщает что файла нет. Я в шоке – проверяю, а файл на месте и доступен по http. Проверяю логи веб-сервера, а там такая картина:
Читать полностью »