Еще один странный глюк в PHP
Два дня бился со странным глюком - в скрипте в определенном месте отваливается соединение с базой данных - выдает "MySQL server is gone away". При этом отваливается всегда в одном и том же месте после куска кода с большим объемом вычислений, но без единого вызова базы данных. И только на сервере - на локальном компьютере всё тип-топ. Путем небольших, почти шаманских манипуляций с кодом удалось проблему купировать, правда неизвестно, где она может всплыть в дальнейшем. Налицо проблема в самом интерпретаторе PHP.
Upd: Нашел источник проблемы
Такое себе позволял только PHP4. Похоже, PHP5 вступил в ту стадию зрелости за которой уже наступает старческий маразм...
I need money, not a job
Рынок труда в России — это что-то особенное. С одной стороны, выйдя на улицы, прямо скажем, не самого богатого города России - Саратова, постоянно видишь большое количество дорогих иномарок, само наличие которых говорит о том, что люди в этом городе реально хорошо зарабатывают.
С другой стороны, данные статистики говорят, что средняя зарплата по городу составляет десять тысяч рублей. У думающих людей это вызывает некий когнитивный диссонанс.
Понятно, что каждый из нас считает себя совершенно уникальным в своем роде и способным на многое. Вот голова и начинают искать способы конвертировать свою уникальность в деньги, желательно минуя промежуточный этап в виде скучного процесса под названием "работа".
Занятно, что на людей которые более или менее имеют потенциал роста эти настроения влияют сильнее всего, они чувствуют, что что-то из себя представляют, это приводит к тому, что скорее всего они не пойдут работать на дядю - они чувствуют что есть другие способы получения денег. И в результате большинство оказывается выброшенными из нормального производственного процесса. С пивком у телевизора время пролетает веселее. Лишь единицы могут найти в себе силы начать что-либо делать.
Есть старомодное мнение, что чтобы стать классным специалистом - нужно развиваться, а как можно развиваться ни чем не занимаясь? Да, чтобы развиваться надо работать. Многие вчерашние студенты думают, что, чтобы добиться успеха нужно сразу начинать свое дело. Но успешно раскрутить своё дело получается у 0.00001 процента. Остальные промучившись год, два, так и не заработав ничего идут работать на дядю.
К чему я это? Просто периодически народ жалуется, что не может найти людей, желающих работать. Сам ищу - пока успехи довольно скромны. Люди не хотят работать, люди хотят денег. Много, сразу, и чтобы не работать.
Надеюсь, все же, что ситуация не настолько плоха, скорее всего, просто толковые люди никогда не появляются на рынке труда - они как нейтрино — неуловимы и не заметны, делают своё дело и не высовываются, а работодатели, которым посчастливилось найти таких людей помалкивают - а то как конкуренты переманят.
Как поставить dav_svn если у вас cpanel
Опять возникла необходимость сделать репозиторий с доступом через http на сервере с cpanel. Ранее я уже об этом уже писал, но половина ссылок в том посте на сегодняшний день уже не работают, поэтому пришлось восстанавливать инструкцию заново, наступая на те же грабли повторно. На этот раз пост без ссылок - просто инструкция шаг за шагом:
Скачиваеме исходники Subversion и распаковываем:
> wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
> tar -xzf subversion-1.6.17.tar.gz
Скачиваем SQLite распаковываем и копируем в папку с Subversion:
> wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
> tar -xzf sqlite-autoconf-3070701.tar.gz
> cp -r sqlite-3.6.13 subversion-1.6.17/sqlite-amalgamation
Теперь компилируем и устанавливаем:
> ./configure --with-ssl --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-config --with-apr-util=/home/cpeasyapache/src/httpd-2.0.63/srclib/apr-util
> make
> make install
Создаем репозиторий:
> mkdir /home/username/data
> mkdir /home/username/data/svn
> cd /home/username/data/svn
> svnadmin create --fs-type fsfs repo
Настраиваем конфигурационные файлы апача:
> vi /usr/local/apache/conf/userdata/std/2/username/svn.hostname.com/custom.conf
Содержимое файла:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svncleve/data/svn
SVNListParentPath on
SVNPathAuthz off
AuthType Basic
AuthName "Private SVN repositories"
AuthUserFile /home/username/svn.passw
Require valid-user
</Location>
Задаем пароль для пользователя SVN:
/usr/local/apache/bin/htpasswd /home/svncleve/svn.passw svnuser
Проверяем конфигурацию сервера, пересобираем конфиги и рестаруем сервер:
/scripts/verify_vhost_includes
/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd
Делаем чистый чекаут на локальной машине:
> svn checkout http://hostname.com/svn/repo .
Если svn update работает хорошо а svn commit выдает 403 ошибку то проверьте .htaccess в document root - cpanel по умолчанию пишет в .htaccess правила, ограничивающие использование методов PUT и DELETE - а именно они как раз и используются в WEBDAW через который работает Subversion. Несколько раз уже на это напарывался.
Обновление прелоадера
Создал английскую версию прелоадера. Обновил внешний вид компонентов.
Теперь не стыдно показывать англоговорящим товарищам.


