PHP: мануалы читать необходимо

Я изучаю новый язык следующим образом: сначала всегда полностью читаю руководство (вот с «Пайтоном» мне не повезло — в руководстве, которое я выбрал, об itertools было упомянуто вскользь), потом уже пробую что-то писать, изредка показывая куски кода для критики.

Конечно, руководство полностью наизусть я не помню, но зато всегда помню, что «что-то где-то было», это частно избавляет от изобретения велосипедов.

В свежей статье на «Хабре» — один из подобных велосипедов:
function uptime() {
	$fp=@popen('uptime','r');
	$s=@fgets($fp);
	@fclose($fp);

	@preg_match('#load average: ([0-9\.]+)#', $s, $m);
	return $m[1];
};
Во-первых, в PHP есть функция sys_getloadavg, во-вторых, (если версия PHP ниже 5.1.3) эту информацию можно добыть значительно проще: «(float) substr(strstr(`uptime`, "load average:"), 13)», в третих, можно (на Линуксах) читать /proc/loadavg.

В этой статье вообще масса забавного: в разделе «временные припарки», где index.php заменили для снятия нагрузки, для чего-то использовался print, вместо того, чтобы выдать сообщение голым html, memcached используется как база данных и так далее.
18 сентября 2008 12:46

david-m.livejournal.com (david-m.livejournal.com)
18 сентября 2008, 15:01

Статья та вообще феерична… впрочем, я зашёл на сабжевый сайт — он и интерфейсно столь же кошмарен.

bolk (bolknote.ru)
18 сентября 2008, 15:37, ответ предназначен david-m.livejournal.com:

Ожидаемо

kuroi-kaze-85.livejournal.com (kuroi-kaze-85.livejournal.com)
18 сентября 2008, 15:47, ответ предназначен bolk (bolknote.ru):

Про sys_getloadavg не знал, спасибо.

bolk (bolknote.ru)
18 сентября 2008, 15:58, ответ предназначен kuroi-kaze-85.livejournal.com:

Стоит читать весь мануал всё-таки. Ещё, например, очень редко обращают внимание на раздел posix.

larionovmou.ya.ru (larionovmou.ya.ru)
19 сентября 2008, 02:46

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

bolk (bolknote.ru)
19 сентября 2008, 09:10, ответ предназначен larionovmou.ya.ru:

С «Сорярисом» не сталкивался, никак не могу прокомментировать.

Owner (companyowner.myopenid.com)
19 сентября 2008, 16:35

Да ладно, по-моему хорошая статья - ведь главное не методы, а результат, ну написал он мелкую функцию для определения uptime'а. Но ведь в статье не это главное, а как он на живой системе быстренько оживлял сервак. :) На сколько я помню, ты же сам такое практиковал. А когда видишь, что сервер трещит по швам, то главное быстро чего-то предпринять и тут уже не до красоты. На счёт memcached не понял в чём проблема - он и говорит что использовал его как временное хранилище и переодически его перечитывал. Вполне обычное использование.

bolk (bolknote.ru)
19 сентября 2008, 20:15, ответ предназначен Owner (companyowner.myopenid.com):

Есть более логичные шаги. То, что там описано достойно фиксов на скорую руку.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)