Помощь
Вход в личный кабинет
Регистрация клиента
Сообщить об ошибке
Неполадки в работе веб-сервера
Если ваш сайт не открывается, то проверьте работу служб веб-сервера. Зайдите в панель управления ISPmanager по ссылке
В панели управления ISPmanager 5 зайдите в раздел “Система” -> “Службы”. Проверьте, что около служб nginx и httpd “включены лампочки”, в противном случае выделите нужную службу и нажмите кнопку “Старт”.
Для панели управления ISPmanager4 зайдите в “Инструменты” -> “Сервисы”. Проверьте, что около строк со службами Nginx и HTTP лампочки жёлтого цвета, в противном случае выделите имя службы и нажмите кнопку “Запустить”.
Также для этой версии панели в разделе “Настройки” -> “Адрес панели” поставьте галочку “Включить встроенный http сервер”.
Если не удается включить эти службы через ISPmanager, то подключитесь к серверу по ssh и запустите веб-сервер командами консоли, приведенными ниже в таблице.
Команда запуска веб-сервера
Запустить Web-cервер Apache
Запустить Web-cервер Nginx
Веб-сервер Apache
При запуске Apache возможны следующие ошибки, которые отобразятся в командной строке.
bad user name
Эта ошибка означает, что пользователь usertest не существует, однако это имя прописано в конфигурационном файле Apache в директивах SuexecUserGroup или AssignUserID. Эти директивы содержат информацию о владельце домена и в зависимости от версии Apache используется одна из них:
Apache-mpm-ITK использует AssignUserID
Apache-mpm-Prefork использует SuexecUserGroup.
Чтобы узнать вашу версию Apache, выполните команду
В соответствующей вашей версии Apache директиве нужно указать существующего пользователя либо закомментировать строки, добавив символ # в начало строки. Ниже приведен пример конфигурационного файла Apache, если вы решили закомментировать строки, то символ # нужно ставить в начале каждой строки блока VirtualHost.
Перезапустите веб-сервер после внесения изменений.
Syntax error
Это сообщение о синтаксической ошибке, допущенной в указанном файле и указанной команде. Откройте файл с ошибкой, в данном примере это /etc/apache2/apache2.conf, но в вашем случае это может быть любой другой файл, используемый Apache. Найдите в файле строку с ошибкой (в примере это 310 строка) и неправильно написанную команду (в примере — helpers). Исправьте ошибку либо закомментируйте строку, поставив знак # в ее начало.
Проверьте, установлен ли PHP на сервере, при помощи команды
При положительном результате вы получите следующий ответ:
Далее проверьте, подключен ли PHP-модуль к веб-серверу Apache, при помощи команд:
FreeBSD
grep -R -i «LoadModule php5_module» /usr/local/etc/apache22/
# grep -R -i «LoadModule php5_module» /usr/local/etc/apache22/
/usr/local/etc/apache22/httpd.conf:LoadModule php5_module libexec/apache22/libphp5.so
Debian\Ubuntu
grep -R -i «LoadModule php5_module» /etc/apache2/
# grep -R -i «LoadModule php5_module» /etc/apache2/
/etc/apache2/mods-available/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
/etc/apache2/mods-enabled/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Centos
grep -R -i «LoadModule php5_module» /etc/httpd/
# grep -R -i «LoadModule php5_module» /etc/httpd/
/etc/httpd/conf.d/php.conf.rpmsave: LoadModule php5_module modules/libphp5.so
/etc/httpd/conf.d/php.conf.rpmsave: LoadModule php5_module modules/libphp5-zts.so
/etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5.so
/etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5-zts.so
/etc/httpd/conf.d/php.conf: LoadModule php5_module modules/libphp5.so
Для ОС Debian\Ubuntu модуль PHP подключен только в случае загрузки его из директории, выделенной жирным шрифтом в таблице выше.
Для ОС Centos проверьте, что модуль PHP указан в файле /etc/httpd/conf.d/php.conf для вашей версии Apache. В случае Apache-Prefork запись имеет вид:
в случае Apache-ITK:
Если вы получили в результате выполнения команды ответ
то это значит, что модуль PHP прописан, но строка закомментирована. Зайдите в указанный в ответе файл (в данном случае это /usr/local/etc/apache22/httpd.conf) и уберите знак #.
Если PHP не был установлен на веб-сервер, выполните его установку приведенными ниже командами.
Операционная система | Команда |
FreeBSD | cd /usr/ports/www/mod_php55; make install clean |
Debian\Ubuntu | apt-get install libapache2-mod-php5 |
В случае ОС Centos модуль PHP отдельно устанавливать не нужно. Проверьте, есть ли на сервере библиотека PHP при помощи команды:
При положительном ответе системы вы получите ответ:
Это означает, что библиотека есть, и вам нужно выполнить настройку файла /etc/httpd/conf.d/php.conf, как описано выше.
Если библиотеки PHP на сервере нет, то выполните установку PHP командой:
Обратите внимание, что если PHP все же установлен, а вы все-равно выполняете эту команду, то результате может быть выполнена установка новой версии PHP!
Перезапустите веб-сервер Apache после внесения изменений.
Server reached MaxClients setting
Ошибка заключается в том, что был превышен лимит одновременных подключений к серверу (сайт загружает больше пользователей, чем прописано в конфигурационном файле). Измените этот лимит в соответствующем файле.
Для FreeBSD это
Для Debian/Ubuntu это
Версия Apache | StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients MaxRequestsPerChild 0 |
Apache Prefork | StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients MaxRequestsPerChild 0 |
Версия Apache | StartServers 8 MinSpareServers 8 MaxSpareServers 10 MaxClients MaxRequestsPerChild 1000 |
Apache Prefork | StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients MaxRequestsPerChild 0 |
Оптимальное параметра MaxClients рассчитывается по формуле:
где М — объем оперативной памяти на сервере, Н — память, которую требует служба httpd.
Например, пусть при 2 Гб оперативной памяти (М=2Гб=2048Мб) httpd занимает 35 Мб. Тогда по формуле (2048-30%)/35=40,96
41. MaxClients=41 — это оптимальное значение, которое гарантирует нормальную работу сервера.
Перезапустите веб-сервер Apache после внесения изменений.
Out of memory
Ошибка возникает, если на сервере не хватает оперативной памяти для загрузки сайта. Можно уменьшить значение MaxClients, как описано выше, но это одна из возможных причин нехватки памяти. Нужен детальный анализ причины возникновения этой ошибки.
Веб-сервер Nginx
При запуске Nginx возможны следующие ошибки, которые отобразятся в консоли.
Unknown directive
Ошибка возникает, если в конфигурационном файле указана неизвестная директива. Путь к файлу указан в ошибке, в данном примере это /etc/nginx/nginx.conf. Зайдите в эту директорию, откройте nginx.conf и исправьте ошибку либо закомментируйте строку. В данном примере нужно найти 13 строку указанного файла, в ней найти неизвестную директиву “Basic” и исправить ошибку. Чтобы закомментировать строку, поставьте в ее начале знак #.
Could not build the server_names_hash
Если возникла такая ошибка, то нужно уменьшить длину доменного имени или количество имен серверов, поскольку эти величины ограничены значениями параметров. Можно также увеличить значение этих параметров:
Не доступен IP адрес(bind() to failed)
Источник
Почему не работает PHP?
Самый частый вопрос, который мне приходилось видеть и слышать — это «почему не работает PHP«. Более того, я когда-то сам задавался этим же вопросом. Что я делал (и так поступают 99% новичков)? Я делал следующее.
Сначала открывал html файл (либо php файл) в блокноте и вставлял туда PHP-код. Затем я пытался открыть данный файл в браузере. И что я видел? Разумеется, лабуду и никакого выполнения PHP-скрипта. А если это был PHP-файл, то мне предлагалось его сохранить на компьютер. Знакома ситуация? Если да, то сейчас Вы узнаете, почему так происходило и что надо сделать, чтобы PHP стал работать.
Дело в следующем: HTML, CSS и JavaScript обрабатываются браузером, поэтому мы легко могли создать простой HTML-файл и добавить туда код всех трёх языков. Однако, PHP обрабатывается не браузером (это ключевой момент), а интерпретатором PHP. Следовательно, нужен именно он. Также нужен файл настроек PHP, библиотеки и прочее. И вот только тогда всё заработает. Теперь вопрос: как это всё найти? Есть два способа: либо собирать всё вручную (это реально и не так сложно), либо пойти более простым путём и установить уже готовый пакет.
Я Вам советую двигаться именно по второму пути, то есть установить готовый пакет, в который входят: сервер Apache, SMTP сервер, MySQL, Perl и, разумеется, PHP. Такой пакет существует и называется он Denwer. Скачать его можно здесь: http://denwer.ru.
Установить его очень просто. Просто следуйте инструкциям.
Теперь запустите сервер (если он по каким-либо причинам не запустился), и, наконец, можете открыть, например, этот файл: «home/test1.ru/www/index.php«. И вставить туда Ваш PHP-код. И когда Вы введёте в браузере следующий адрес: «http://test1.ru«, то увидите результат выполнения Вашего PHP-скрипта.
Всё, PHP работает!
Кстати, если сервер не запускается, то в 99% случаях виноват антивирус и/или firewall. Проблема в том, что иногда они блокируют изменения файла hosts в Windows, поэтому постарайтесь отключить контроль за этим файлом в настройках антивируса. А если не получается, то на момент запуска сервера отключите антивирус.
В следующей статье я расскажу о том, как создавать домены и поддомены в Denwer. Также обязательно расскажу о файле hosts в ОС Windows, так как об этом очень важно знать любому, кто занимается созданием сайтов, используя пакет Denwer (да и другие пакеты тоже).
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 73 ):
А скоко примерно МБ занимает этот Denwer при скачивании? Просто у меня с инетом напряг! И еще: когда создаешь сайт в Denwer, то в это время комп должен быть подключён к интернету или нет.
Denwer весит 6.1 МБ. Для создания сайта на Denwer Интернет не нужен.
Меня очень интересует следующий вопрос. Все лучшие сайты и коды уже написаны. Чтобы добится таких-же результатов как конкуренты, нужно очень много времени и не только. А какие шансы у простого смертного, который изучил php, MySQL и т.д. (на среднем уровне), устроиться на работу в уже расскрученные сервисы или порталы? И на какие должности? И возможно ли такое? Какие шансы??
Если там вообще нужны программисты, то попробуйте, а для начала лучше поработайте фрилансером, наберитесь опыта, а потом будет и что показать потенциальным работодателям.
Да. Сайт действительно хорош. Михаил! У меня вопрос: Делаю сайт со страницами формата .php но на них присудствуют теги html и обычный текст. Вопрос. Нужно ли ставить на такую страницу следующую строчьку, перед тегом .
Михаил, я создал на компе статический сайт, но страницы расширения .php Как поисковики будут к нему относится?
Здравствуйте! Я начал изучать Ваши уроки, присланные Вами, по phр. Я все повторяю за Вами, а весь текст на сайте получается таким: . ?? . Что мне делать?
Михаил, и меня такая проблема: написал код для вытаскивания статьи из БД по примеру как у вас в уроке по PHP, после чего проверил все ли совпадает. Все было правильно, но когда я зашел на страницу в браузере, поле, где статьи должни были отабражаться, осталось пустым! Подскажите в чем проблема! P.S. если будет нужно я могу предоставить участки кода. с ув. Алекс
Очень Вам благодарен. У меня была вторая ошибка. Вы оказываете величайшую помощь всем «чайникам» и достойны всяких похвал!
Денвер стоит! Антивируса — нет как такового! firewall — не устанавливала! А файлы с расширением php в один день просто перестали отображаться в браузере (любом), показывает либо просто код, либо html страницу и php код. Все работало! И . больше не. Подскажите пожалуйста,а то у меня даже печеньки закончились (.
Источник
PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
Достаточно часто у начинающих разработчиков встречаются проблемы с запуском PHP-кода. Симптомы и причины могут быть самые разнообразные. Ниже приведены наиболее часто встречающиеся симптомы и их возможные причины.
Вы открыли страницу/файл в браузере и увидели на странице PHP-код. Возможно, вперемешку с другими элементами страницы.
Либо вместо страницы файл «скачался», а в нём Вы увидели исходный код PHP.
Возможные причины:
- Файл должен имет расширение .php (на всякий случай в нижнем регистре: .php , а не .PHP или .pHP ). На всякий случай проверьте также и язык ввода: буквы с имени должно быть латинскими (бывали случаи).
- Страница должна запрашиваться через Веб-сервер , а не из папки напрямую. Поэтому в адресной строке браузера Вы должны видеть http:// , а не file:// (некоторые браузеры скрывают http:// , но file:// виден все равно).
- Из предыдущего пункта следует: у Вас должен быть установлен и запущен веб-сервер (например, Apache или сборки Denwer, XAMPP и т.п.).
- Веб-сервер должен быть настроен на обработку PHP кода. Если Вы используете сборки вроде Денвера, то этот пункт, вероятно, не актуален (хотя кто ж их знает).
- PHP код должен быть обёрнут в PHP-теги: . Если вдруг Вы используете короткие теги или , то попробуйте заменить их на длинные: и соответственно.
- TODO вспомнить и описать другие организационные моменты
Ничего не выводится — только пустая белая страница.
Источник