Авг 282013
 

В продолжение поста об «лучших ресурсах для изучения HTML и CSS» представляем вашему вниманию подборку лучших на наш взгляд ресурсов по изучению PHP и MySQL.
Для начала дадим определения MySQL и PHP.

MySQL – система управления базами данных.

PHP (препроцессор гипертекста) – скриптовый язык, который предназначен для генерирования HTML- страниц на сервере. Широко применяется для создания сайтов, PHP значительно расширяет возможности веб-мастера и упрощает его жизнь. Знание основ PHP желательно для каждого вебмастера.

Куда выгодно вкладывать деньги в России? Неправда ли очень интересный вопрос, есть очень много мнений, куда и как правильно вложить деньги, я нашел хороший блог в котором очень много тем на тему деньги и на тему как выгодно их вложить, поэтому, кому интересно всем советую почитать этот блог.

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

PHPclub.ru/talk — это клуб разработчиков PHP. На их форуме можно найти все — от юмора PHP до теории PHP.

PHP.ru- один из самых популярных форумов PHP программистов. Есть хороший раздел по программированию на PHP для новичков. Также есть разделы форума по HTML, MySQL, CSS, Ajax и Javascript. Еще есть в наличии руководство по PHP и руководство по MySQL на русском.

PHP.su – весьма полезный сайт с кучей информации по PHP. Есть форум по PHP и раздел с учебниками по PHP для свободного скачивания.

SoftTime.ru/forum — сотрудники известной студии SoftTime написали множество полезных книг по MySQL и PHP . Также на их сайте есть форум PHP.

Askdev.ru — замечательный сервис ответов и вопросов IT специалистов, здесь помимо PHP, обсуждаются и другие различные темы.

PHP5.ru – на этом сайте можно найти самоучитель по по PHP, правда он еще в процессе написания, но уже написано несколько глав.

PHPbegun.ru – блог который будет очень полезен для новичков в PHP.

On-line-teaching.com/PHP — учебник PHP для новичков онлайн.

ruseller.com — в разделе PHP есть отличные переводы зарубежных материалов касательно PHP.

Кроме наличия авторских материалов, еще одной отличительной особенностью блогов есть возможность задавать вопросы автору. Безусловно, блоги ориентированы не только на MySQL и PHP, но и на другие смежные тематики, хотя это и к лучшему. В списке указаны только регулярно обновляющиеся блоги.

Zhilinsky.ru — блог интернет-разработчика Владимира Жилинского.

Simplecoding.org- блог о программировании Владимира Стаценко.

Samborsky.com — блог Евгения Самборского.

Англоязычные ресурсы по PHP и MySQL

Ресурсы из буржунета – настоящее Эльдорадо для приобретения знаний в интересующей вас области. Не для кого не секрет, что большинство информации в рунете это переводы зарубежных материалов и к сожалению, очень часто переводчики опускают некоторые моменты, что снижает качество перевода. Поэтому лучший вариант — это читать оригиналы.

PHP.net — официальный сайт PHP.

MySQL.com — официальный сайт MySQL.

nettuts.com — раздел PHP один из излюбленных ресурсов по PHP. Здесь систематично издаются интересные материалы с детальным описанием и готовыми файлами.

Goodphptutorials.com – здесь есть хороший выбор уроков PHP для новичков и не только.

Если кто-то знает еще какие-нибудь полезные ресурсы по изучению MySQL и PHP – указывайте их в комментариях.

Июн 072013
 

php.ini или htaccess Буферизация вывода

Таблица 1. Директивы функций управления выводом

output_buffering "0"
output_handler NULL Доступна с PHP 4.0.4.
implicit_flush "0"

Краткое разъяснение конфигурационных директив.
output_buffering boolean/integer

Вы можете включить буферизацию вывода для всех файлов, устанавливая эту директиву в ‘ON’. Если Вы желаете ограничить размер буфера к некоторому размеру – вы можете использовать максимальное число байт вместо ‘ON’, как значение для этой директивы (например, output_buffering=4096). С PHP 4.3.5, эта директива всегда выключена в PHP-CLI.
output_handler string

Вы можете переадресовать весь вывод ваших сценариев к HTML. Например, если вы устанавливаете output_handler в mb_output_handler(), кодировка будет, очевидно, преобразована в указанную кодировку. Установка любого обработчика вывода автоматически включает буферизацию вывода.

Примечание: Вы не можете использовать совместно mb_output_handler() с ob_iconv_handler() и вы не можете использовать совместно ob_gzhandler() и zlib.output_compression.

Примечание: Только встроенные функции могут использоваться с этой директивой. Для определяемых пользователем функций (пользовательских функций), используйте ob_start().

implicit_flush boolean

FALSE по умолчанию. Изменения параметра в TRUE предписывает слою вывода PHP сбрасывать на диск себя автоматически после каждого блока вывода. Это эквивалентно запросу функции PHP flush() после каждого запроса print() или echo() и каждого блока HTML.

При использовании PHP в пределах среды сети, включение этой опции влечет за собой уменьшение производительности, и вообще данная опция рекомендуется только для отладки. Эти значения по умолчанию – TRUE при работе под CLI SAPI.

See also ob_implicit_flush().

Для отключения буферизации вывода данных используя htaccess:

php_flag output_buffering off

Рейтинг: 5.0/5 (2 голос (-ов) всего)
php.ini или htaccess Буферизация вывода, 5.0 out of 5 based on 2 ratings

Метки: htaccess, implicit_flush, output_buffering, output_handler, php.ini, php_flag

Май 172013
 

PHP_EOL

Наткнулся на предопределенную константу PHP_EOL переход на новую строку «\n», если сервер Unix или «\r\n» если Windows.
Ничего особенного, просто очень удобная вещь.

Апр 172013
 

Мониторинг диска с помощью smartmontools

Следить за дисками необходимо так же тщательно, как и за температурой, пылью в сервере. Даже если вы используете супер надежный Raid массив, контроль за сервером показывает уровень Системного Администратора.
Для мониторинга и диагностики состояния HDD существует технология smart — технология оценки состояния жесткого диска с помощью встроенной аппаратной диагностики.

Специально для систем мониторинга в Unix системах разработана утилита smartmontools. Данный софт присутствует во всех известных мне Unix системах.

Сейчас мы настроим smartd который находится в пакете smartmontools для непрерывного мониторинга HDD штатными средствами smartmontools, устанавливаем smartmontools: (или из Backports)

Устанавливаем пакет в Debian или Ubuntu:

# apt-get install -y smartmontools

Устанавливаем пакет в CentOS или RedHat:

# yum install -y smartmontools

Устанавливаем пакет в FreeBSD

# cd /usr/ports/sysutils/smartmontools
# make install clean

smartctl — просмотр текущих значений S.M.A.R.T., запуск тестов диагностики диска вручную;
smartd — демон для записи в системный журнал изменений в значениях S.M.A.R.T, уведомления по электронной почте об ошибках, запуска тестов диагностики по расписанию;

Проверяем установлен ли S.M.A.R.T., с помощью команды:

# smartctl -i /dev/sda

Если S.M.A.R.T. отключен, то включаем:

# smartctl -s on /dev/sda

Настраиваем S.M.A.R.T. как демон в /etc/default/smartmontools, для примера добавляем два диска:

enable_smart=”/dev/sda /dev/sdb”
start_smartd=yes
smartd_opts=”–interval=1800″

Автоматизируем мониторинг для для дисков.

В файл /etc/smartd.conf (записываем email для получения уведомлений, о состоянии HDD)

/dev/sda -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selffortest -m sistemadmin@mail.ru -s (S/../.././02|L/../../6/03)
/dev/sdb -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selffortest -m sistemadmin@mail.ru -s (S/../.././02|L/../../6/03)
или
/dev/sda -S on -o on -a -I 194 -m sistemadmin@mail.ru

-a заставляет smartd наблюдать за всеми доступными SMART-параметрами дисков
-I 194 указывает smartd игнорировать изменения значения атрибута #194
-m указывает на необходимость отправки email-уведомлений.

Внимание! В файле smartd.conf вы сможете увидеть уже готовые примеры с описанием! Воспользуйтесь ими.

Запускаем сервис:

# /etc/init.d/smartmontools start

Можно проверить пишутся ли логи:

cat /var/log/syslog | grep smartd

Ключи программы взятые из MAn:

-d TYPE Тип устройства: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N
-T TYPE допустимое отклонение: normal, permissive
-o VAL Включает/выключает автоматические оффлайн тесты (on/off)
-S VAL Включает/выключает автосохранение атрибутов (on/off)
-n MODE Не проверять. Один из режимов: never, sleep, standby, idle
-H Мониторить SMART статус, уведомлять только при ошибках.
-l TYPE Мониторить SMART логи. Режимы: error, selftest
-f Монитор отказа для любых атрибутов ‘Usage’
-m ADD Письмо с варнингами на ADD для -H, -l error, -l selftest, and -f
-M TYPE Изменение поведения отсыла е-майлов (см. ман)
-s REGE Запустить тест когда дата совпадает с регулярным выражением (см. ман)
-p Сообщать о изменениях в ‘Prefailure’ атрибутах
-u ообщать о изменениях в ‘Usage’ атрибутах
-t Эквивалентно -p и -u директивам
-r ID Также сообщать ‘RAW’ значения атрибутов ID с -p, -u или -t
-R ID Следить за изменениями в атрибуте ID ‘Raw’ значения -p, -u or -t
-i ID Игнорировать атрибут ID для -f директивы
-I ID Игнорировать атрибут ID для -p, -u или -t директивы
-C ID Рапортовать если счётчик `ждущих` секторов не равен нулю
-U ID Рапортовать если счётчик `некорректируемых` секторов не равен нулю
-W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit
-v N,ST Mодифицировать метку для атрибута N (для нестандартных атрибутов)
-a Дефолт: эквивалентно -H -f -t -l error -l selftest -C 197 -U 198
-F TYPE Для ошибок в прошивке. Значения: none, samsung
-P TYPE Предустановки для диска: use, ignore, show, showall
# Комментарии: текст после него игнорируется
\ Продолжения строки

Апр 042013
 

Загрузка файл на сервер PHP+Autoit

AutoIT

$File = @ScriptDir & "\body-bg.png" ; Файл который мы будем загружать на сервер
$sHost = "host.com" ; Ваш домен на хостинге
$sFormAction = "/postdata.php" ; Форма-приемник для загрузки архива

$hfile = FileOpen($File, 16)

$sFileTypeName = StringRegExpReplace($File, '^.*\\', '')

While 1
    $data = FileRead($hfile, 500000) ;500000 = 1мб
    If @error Then ExitLoop
    Global $Data2 = StringTrimLeft($data,2)
    SendPost()
WEnd

Func SendPost() 
$oRequest = ObjCreate('WinHttp.WinHttpRequest.5.1') ;Создаём COM-объект
$oRequest.Open('POST', 'http://' & $sHost & $sFormAction, 0) ;Создаём соеденение, указываем адрес страницы
$oRequest.SetRequestHeader('User-Agent', 'Mozilla/4.0 (Windows XP 5.1)') ;Указываем заголовок User-Agent
$oRequest.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded') ;Указываем заголовок Content-Type (необходимо для POST-запроса (Content-Length указывается автоматически))
$oRequest.SetRequestHeader('Host', $sHost)
$oRequest.Send('filename=' & $sFileTypeName & '&data=' & $Data2) ;отправляем запрос
$sData = $oRequest.ResponseText
;MsgBox(0, 'Data', $sData)
EndFunc

PHP

<?php
$fileName = $_POST['filename'];
$binaryData = $_POST['data'];

$fh = fopen("./$fileName", 'a+b');
fwrite($fh, pack("H*" , $binaryData));
fclose($fh);
?>

Загрузка, файл, сервер, PHP, Autoit