обсуждение статьи Apache2+PHP5+MySQL
проглядел эту статью, возник ряд вопросов к аффтару.
1. нахрена ставить PHP как CGI?
2. использование register_globals = On. Учитывая, что 90% прочитавших статью, сделают все в тупую под копирку, мы получаем N-ое количество ущербных серверов.
можно возразить что это "чисто для девелоперов и для тестирования покатит", однако ИМО, учиться ставить надо правильно.
кроме того обойден еще ряд тонкостей и деталей.
в связи с этим вопрос. есть ли смысл писать аналогичную статью:
Apache2 + PHP5 (mod_php) + MySQL4.1 для Windows?
или ограничиться краткой заметкой в FAQ?
есть ли смысл писать аналогичную статью:
Apache2 + PHP5 (mod_php) + MySQL4.1 для Windows?
или ограничиться краткой заметкой в FAQ?
пиши, гарантирую одного внимательного читателя ты уже имеешь заранее! :)
и если возможно напиши отличие между этими двумя сборками :)
Аннологичный вопрос к автору. При том, что как правило это именно для тестирования (т.к. думаю, кто будет ставить боевой сервер, то он думаю неэто читать будет). При использовании такого подхода мы сразу лешаемся скорости, теряем многие функции и возможности, поэтому он даже для тестов не подходит.
Вот это попахивает минимум бредом. Его отключили по дефолту и правильно сделали, т.к. это несло за собой гиганский изъян. Не буду вдаваться точно в синтаксис, но всё же.
$var = 40;
/* второй скрипт */
mysql_query("INSERT INTO test(id, info) VALUES ('', '$var')");
Если всё хорошо, то мы быстро получаем значение $var, если $var=sql_evil_code... Вопросы возникают? Именно по этому и отменили.
2squirL Я уверен, что стоит:). Только тогда коснись темы кодировок в MySQL (вернее сопоставления), а то вопросов будет море. Ещё можно коснуться установки phpmyadmin'a. Как бы это смешно не было, но много по этому поводу вопросов возникает.
Но самое страшное - там была гора объявлений global практически в каждой функции и везде использовалось $value, вместо $_GET['value']. Причём, как я уже упомянул, читаемость кода была - никакая. Да ещё и сделано всё это без какого-либо шаблонизатора... Вобщем в коде всё смешалось - кони, люди...
Так вот, выводы из опыта работы с этими двумя сайтами (нужно написать большими оранжевыми буквами всем, кто только начинает свой путь в PHP-программировании):
1. Используйте ООП.
2. Не создавайте глобальных переменных. Глобальными должны быть те, которые уже есть в массиве $GLOBALS. О включенном register_globals забыть, как о страшном сне.
3. Используйте пространство имён классов и создаваемых объектов. Если константы не требуется использовать в других объектах (классах) - объявляйте их в нужном пространстве имён.
4. Отделяйте программный код от дизайна.
5. Всегда абстрагируйтесь от конкретной задачи, выделив общее ядро из множества подходов к ней (конкретной).
6. Пишите разборчиво, чтобы через неделю было самому понятно, что там написано. Такая же беда с комментариями. Думайте о тех, кто будет со всем этим добром разбираться после...
Блиндр, прямо заповеди какие-то...:D
Я уверен, что стоит:). Только тогда коснись темы кодировок в MySQL (вернее сопоставления), а то вопросов будет море. Ещё можно коснуться установки phpmyadmin'a. Как бы это смешно не было, но много по этому поводу вопросов возникает.
про кодировки подумаю. хотя настройка MySQL - тема отдельного разговора. phpmyadmin, извините - НЕТ. не уважаю я эти поделия. пусть молодежь ручками учиться работать.
про кодировки подумаю. хотя настройка MySQL - тема отдельного разговора. phpmyadmin, извините - НЕТ. не уважаю я эти поделия. пусть молодежь ручками учиться работать.
В чём то согласен конечно... По поводу кодировок нужно указать хотя бы минимум "Если Вы хотите чтоб у Вас хоть как-то отображались русские буквы...":)
В чём то согласен конечно... По поводу кодировок нужно указать хотя бы минимум "Если Вы хотите чтоб у Вас хоть как-то отображались русские буквы...":)
Да уж. Надо. А то я чуть не застрэлился с этии "????", пока через два дня не сообразил про SET NAMES
Да уж. Надо. А то я чуть не застрэлился с этии "????", пока через два дня не сообразил про SET NAMES
Не ты один. Мы имеем опыт в этом, а кто нет?
Не ты один. Мы имеем опыт в этом, а кто нет?
короче созрел план статьи:
1. Установка Apache
1.1 почему 2.х, а не 1.3
1.2 ставить как службу или приложение?
1.3 собссно процесс установки
1.4 специфические настройки для Apache под Windows
2. PHP
2.1 CGI или mod_php?
2.2 собссно установка :)
2.3 чего не сделает инсталлятор, что крутить руками.
3. MySQL
3.1 выбор версии
3.2 процесс установки
3.3 опять же - что подкручиваем ручками, проблема кодировок
3.3 настраиваем PHP на работу с MySQL
4. Perl
2.1 ставим
2.2 настройка Apache на выполнение CGI сценариев на Perl: UNIX way и Windows way.
на выходных думаю накатаю.
короче созрел план статьи:
1. Установка Apache
1.1 почему 2.х, а не 1.3
1.2 ставить как службу или приложение?
1.3 собссно процесс установки
1.4 специфические настройки для Apache под Windows
2. PHP
2.1 CGI или mod_php?
2.2 собссно установка :)
2.3 чего не сделает инсталлятор, что крутить руками.
3. MySQL
3.1 выбор версии
3.2 процесс установки
3.3 опять же - что подкручиваем ручками, проблема кодировок
3.3 настраиваем PHP на работу с MySQL
4. Perl
2.1 ставим
2.2 настройка Apache на выполнение CGI сценариев на Perl: UNIX way и Windows way.
на выходных думаю накатаю.
Ещё бы хотелось услышать про безопастность:).
короче созрел план статьи:
Просим, просим! :D Особенно интересен пункт 1.1... Почему же, всё-таки 2.0, а не 1.3?
короче созрел план статьи:
..
предлагю пункт 0 - когда можно ставить эту связку на виндовс и почему это плохо
предлагю пункт 0 - когда можно ставить эту связку на виндовс и почему это плохо
угумс... это вроде предисловия.
Устанавливаю комплект Apache2,2+PHP5.xx, с SQL
всё по инструкции http://www.softtime.ru/article/index.php?id_article=95
Апаче запустился,
когда установил PHP
при запуске апаче такая ошибка:
Не удалось запустить апаче 2,2 на локальный комп
ошибка 1067 Процесс был неожиданно завершон
в логе апаче /error
такое сообщение
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 10.189.16.59 for ServerName
[Fri Apr 22 18:52:56 2011] [warn] pid file F:/site/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
????
что делать?
В httpd.conf посмотри директиву ServerName всё ли там хорошо