Категория ‘Начинающему’

Устанавливаем модули Perl

При попытке запустить скрипт получил ошибку 500, а в логах:
Can't locate Archive/Zip
После пары минут поиска понимаем, что нужно установить модуль perl “Module Archive::Zip ”
Вариант первый - ручная установка модулей Perl
На сайте cpan.org находим (search.cpan.org) нужный модуль, сохраняем в каталоге (/tmp, например)# cd /tmp
# gzip -d Archive-Zip-1.26.tar.gz
# tar xvf Archive-Zip-1.26.tar
# cd Archive-Zip-1.26

Собираем: # perl Makefile.PL
...
# make
# make test
И установка модуля:
# make install
Вариант второй - Установка модуля Perl с использованием CPAN
Для установки модулей Perl при помощи CPAN следует убедиться, работает ли команда cpan:.# cpan
-bash: cpan: command not found

Если выдается сообщение “not found” - следует установить модуль CPAN. Для установки cpan с помощью yum следует набрать:
# yum install perl-CPAN
При первом запуске нужно будет “сконфигурировать” cpan в режиме вопрос-ответ. Большая часть ответов уже подставлена - достаточно нажатия ENTER. Некоторые вопросы требуют выбора из нескольких пунктов.
После настройки набираем:
# cpan
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')

cpan> install Archive::Zip
….
/usr/bin/make install — OK
cpan> quit

Итак, мы установили Модуль perl “Archive::Zip”.
По аналогии можно установить любой другой модуль. Однако при установке следует учитывать, что для некоторые модули зависят от других модулей. При использовании установки вторым методом cpan автоматически устанавливает необходимые для работы модули perl.

Опубликовано Март 4, 2009 | автор: levik  |  Комментарии (3) »

HTTP заголовок - как передать?

Вебмастеру частенько нужно передать служебную информацию при помощи HTTP-заголовка. Как это можно сделать?

Передаем Http заголовок средствами HTML

Если быть совсем точным, то формулировка не совсем верна, поскольку мы передаем не заголовок, а служебную информацию, аналогичную информации заголовка, однако содержится она непосредственно в сообщении. Однако, META-теги, например могут влиять на кэширование страниц в браузере по аналогии с HTTP-заголовками.
<meta http-equiv=”Expires” content=”Mon, 19 Jan 2009 20:37:25 GMT”>
<meta http-equiv=”Pragma” content=”no-cache”>

Передаем HTTP-заголовок средствами PHP

В PHP (да и в любом серверном языке программирования) для передачи заголовков существует специальная функция. В PHP она носит название header(). В качестве параметра указывается текст http-заголовка:
header('Content-Language: ru');
header("HTTP/1.0 404 Not Found");
// далее следует вывод страницы
?>

Следует отметить, что  вывод заголовков должен предшествовать выводу содержимого документа. Иначе, php-интерпретатор выдаст предупреждение, а заголовок передан не будет.

Передаем HTTP-заголовок средствами сервера

Часть заголовков формируется без явного указания в скрипте, непосредственно сервером или его модулями (например, php-интерпретатор сообщает заголовок “X-Powered-By”). Мы можем подсказать серверу, какие заголовки выдавать в том или ином случае.

В частности, Apache-сервер позволяет формировать HTTP-заголовки при помощи служебного файла .htaccess
Header set Cache-Control “no-cache, must-revalidate”
Header set Expires “Mon, 19 Jan 2009 20:41:25 GMT”
Header set Pragma “no-cache”

Для этого случая при запросе любого файла с расширением .xml, будет передана служебная информация, запрещающая кэширование файла на стороне клиента.

Возможно, рассмотрены далеко не все варианты, но их вполне достаточно, чтобы использовать на практике.

Опубликовано Январь 19, 2009 | автор: levik  |  Комментарий (1) »

Вопросики в MySQL

в Mysql вопросы  вместо текста? Знакомо?

Иногда при работе с MySql вместо ожидаемого текста, мы получаем в ответ что-то вроде “??? ?? ?????? ???…” Интуитивно можно предположить, что весь ВОПРОС (;) в кодировке MySQL. Что с этим делать, как бороться?

Для начала проверить, как хранятся данные в базе - зайти, к примеру, phpmyadmin-ом. Иногда из-за несоблюдения кодировки при импорте вопросики уже лежат в базе. В этом случае либо импортировать (если есть откуда) заново, либо… с нуля. :( При импорте следует указать кодировку, соответствующую файлу импорта. Естественно, если данные хранятся в базе вопросами - ничего другого мы и не получим.

Если же в базе данные хранятся “как надо”, а проблема появляется при выводе, обычно помогает незамысловатый запрос “Set names cp1251″ - сразу после подключения к базе. (вместо cp1251, следует указать нужную кодировку - с учетом русского языка - возможно UTF8)

У меня после такой операции вместо знаков вопроса  отобразился “нормальный” текст.

Опубликовано Июнь 20, 2008 | автор: levik  |  Нет комментариев »

Как работает интернет. Для начинающих

Тем, кто представляет, как “работает” Интернет, статья может показаться неинтересной. Все расписано очень простым и понятным языком. Многие подробности опущены.

Предупреждение сделано. Теперь поехали.

Раз уж Вы оказались на моем сайте, то так или иначе Вы “сидите в интернете”. Что же за этим скрывается? Совсем простым языком описать то, как “работает” интернет, можно примерно так:

Вы, сидя за своим компьютером открываете программу-браузер (скорее всего, Internet Explorer, mozilla Firefox или Opera). Программа может открыть пустую страницу - тогда придется вводить в адресной строке адрес сайта. Или же программа сразу откроет домашнюю страницу. Вот теперь поподробнее.

“Открыть страницу” - за этими словами скрывается множество действий, невидимых глазу человека. Компьютер, получив команду “открыть” посылает запрос к другому компьютеру (серверу), на котором находится эта страница. В ответ он получает какие-то данные (будем называть их файлами, хотя это не обязательно так). Вы видите не только текст, но ещё и картинки. Значит при открытии страницы компьютер получил не один файл, а несколько. Многие файлы не видны пользователю, но без них страница работала бы не так, как нужно - в файлах прописаны служебные инструкции для программы-браузера. В следующих статьях мы обязательно рассмотрим служебные файлы . А пока разберем, откуда берутся эти файлы.

Вариант первый - они хранятся на сервере в таком же виде, как и передаются браузеру. Так называемые “статические” странички - изменить данные на страничке мы можем только отредактировав сам файл с этой страничкой. Такие странички можно только просматривать.

Вариант второй - промежуточный. Странички собираются из кусочков, которые все так же хранятся на сервере. Ведь у большинства страниц одного сайта встречаются одинаковые “участки” страницы - “шапка” - верхняя часть страницы, боковое меню, “подвал” - нижняя часть страницы. В случае если требуется изменить текст, например, в подвале, достаточно отредактировать один файл (в предыдущем случае пришлось бы изменять все страницы).

Вариант третий, наиболее распространенный. При запросе странички на сервере выполняется некая программа, которая “печатает” ответ. Браузер, получив ответ, отображает его на экране. А как составляется ответ? Как захочет программист :) Нужно вывести каталог интернет-магазина? пожалуйста. А если статью из последнего номера журнала? - пожалуйста. В общем, фантазия безгранична…

Так вот. В качестве “серверной программы” в третьем варианте вполне успешно выступает интерпретатор PHP - программа, которая выполняет “скрипты”, написанные на одноименном языке программирования. И если Вы хотите научиться программировать на PHP, создавать динамические страницы, научиться думать как машина (если уже умеете - отлично)…

В общем, решайте, надо ли.. или не надо.

Опубликовано Январь 31, 2008 | автор: levik  |  Комментарии (4) »