четверг, 27 мая 2010 г.

Рекурсивное удаление папки в консоли Windows

Для автоматизации понадобилось написать bat файл который работает с svn, после чего необходимо рекрсивно удалить папку с файлами. В unix все очень просто, а вот тут пришлось поискать:

rd folderpath /s /q

rd - синоним rmdir - удаление папки
/s - включает рекрсивное удаление файлов и папок
/q - отключает запрос подтверждения операции удаления

вторник, 4 мая 2010 г.

Типичные ошибки php session_start

 Иногда в PHP появляются ошибки связанные с session_start

1) Cannot modify header information - headers already sent by...
2)  No such file or directory in open(/....)

"Лечим" так:
1) Такое сообщение означает, что вы вызываете функцию session_start после того как какие-то заголовки уже отправлены броузеру. Другими словами, данная функция должна вызываться до того как вы передаете любой текст или заголовки. Часто проблема плохо ловится, так как в броузер  случайно предается пробел, кторый на странице невидно, но ошибка с установкой куков появляется.

2) Если вы увидели ошибку связанную с тем, что невозможно найти какие-то файлы (метод open), тогда знайте - у вас неправильно настроен путь для хранения сессий на диске. Нужно прописать папку, у которой для веб-сервера есть доступ. Открываем php.ini и правим константу session.save_path

Denwer. Настройка нестандартных виртуальных хостов.

Очень часто я встречаю на всяких форумах вопросы по поводу настройки нестандартных виртуальных хостов для Denwer.

Также, часто я читаю как "профи" по этому поводу злятся и пишут о том, что надо ставить связку Apache+PHP+MySQL руками, вместо того чтобы просто помочь людям разобраться и хи вопросом. Я считаю что как именно ставить связку - руками или с помощью Денвера - дело разработчика.

В Денвере проблема нестандартных хостов решаеться очень даже просто:

1) находим \usr\local\apache\conf\httpd.conf
2) находим там строку: Include conf/vhosts.conf
3) Выше этой строки можете описывать свои нестандартные хосты, при этом не напрягаясь о тех хостах, которые система генерит автоматом

Еще более красивое решение, это свои нестандартные настройки положить в файл, например myvhosts.conf. Потом подключить его перед файлом хостов которые генериться автоматически.

Таким образом, все будет выглядеть так:

Include conf/myvhosts.conf 
Include conf/vhosts.conf