Здесь собраны самые частые ошибки, общие для всех пользовательских скриптов. Для Perl существует также отдельный FAQ-документация, в котором описаны часто возникающие при работе с Perl проблемы.

Ошибки формата файлов

Ошибки, связанные с правами доступа

Превышение лимитов на ресурсы

Превышение лимитов на количество одновременно выполняемых программ


Ошибки формата файлов

Симптом ошибки:

не работают скрипты, при просмотре их в редакторе vi в конце каждой строки видны символы .^M..


Решение:

В различных операционных системах для обозначения завершения строки в текстовых файлах используются разные символы. Это может вызвать проблемы, если скрипт редактируется в операционной системе одного типа (Windows), а затем запускается в ОС другого типа (FreeBSD). Иными словами, если вы создаете и (или) редактируете свои программы на Windows, то вам необходимо удостовериться, что файл вашей программы сохранялся с соответствующими разделителями строк.

Один из простых способов сделать это - открыть файл на своем Web-сервере и посмотреть, есть ли в конце каждой строки какие-нибудь странные символы. Только надо быть уверенным, что ваш редактор показывает специальные символы. Например, редактор vi их показывает, а less - нет.

Многие современные текстовые редакторы (например, Notepad++) предусматривают возможность задавать тип разделителей строк, поэтому проверьте, сохраняете ли вы файл в формате, подходящем для Web-сервера.

Если вы пересылаете файлы на свой Web-сервер с помощью FTP, убедитесь в том, что ваш FTP-клиент настроен на пересылку файлов в текстовом (ASCII), а не в двоичном (binary) режиме. Во многих случаях это гарантирует автоматическое преобразование разрывов строк и помогает избежать проблем. Обратите внимание на то, что картинки, аудио-файлы, анимацию, видео и т.п. необходимо передавать только в двоичном режиме, иначе они будут повреждены при передаче. Многие FTP-клиенты по умолчанию передают в текстовом режиме только файлы определённых типов, в этом случае достаточно убедиться, что ваши файлы попадают в эту категорию.


Ошибки, связанные с правами доступа

Симптом:

Одна из данных страниц появляется с ошибкой:

  • Директория, хранящая CGI приложение, доступна на запись другим пользователям. Права на директорию должны быть 0755 или 0711
  • CGI приложение доступно на запись другим пользователям. Для выполнения оно должно иметь права 0755 или 0711
  • Владелец директории с CGI приложением не совпадает с владельцем самого CGI приложения
  • 403. Операция запрещена. Пожалуйста, проверьте правильность настройки вашего сервера (права доступа, наличие индексного файла и т.п.)

Решение:

Для того чтобы устранить данную ошибку, нужно воспользоваться шеллом и изменить все права на директории и выполняемые файлы:

  • На папки должны быть права 0755 (rwxr-xr-x);
  • На PHP-скрипты - 0644 (rw-r--r--);
  • На остальные скрипты - 0755 (rwxr-xr-x) или 0711 (rwx--x--x);
  • На все прочие файлы - 0644 (rw-r--r--).

Подробную инструкцию по использованию команд, с помощью которых можно изменить права, вы можете найти в инструкции по SSH.

Можно также прописать в командной строке:

find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644  
find . -type f -name '*.pl' -or -name '*.cgi' -print0 | xargs -0 chmod 0711  

Данные команды изменят права на правильные в текущей директории и всех поддиректориях.


Превышение лимитов на ресурсы

Симптом:

При выполнении программы произошла ошибка. Наиболее вероятные причины: - Программа превысила установленные лимиты по памяти, количеству процессов и т.п. - Программа содержит ошибку


Решение:

Вам надо создать в своем домашнем каталоге папку 'log' и в данной папке создать файлы: 'error' и 'script'. Если при выполнении скриптов у вас в файле 'script' создаются записи вида: Unable to allocate: 123 bytes, то вашим скриптам не хватает выделенной вашим тарифным планом памяти. Чтобы узнать, какие именно у вас установлены лимиты, вы можете использовать в шелле команду 'limits', а также посмотреть в описании вашего тарифного плана данную информацию.

Для т.п. Универсальный: http://hosting.agava.ru/virt/unix/tp_universal.shtml

Для т.п. Деловой : http://hosting.agava.ru/virt/unix/tp_business.shtml

Если ошибки в данный файл не пишутся, но ошибка постоянно появляется, обратитесь в службу поддержки хостинга.


Превышение лимита на количество одновременно выполняемых программ

Симптом:

Периодически появляется ошибка вида:

Пользователь превысил лимит на количество одновременно исполняемых CGI.
В данный момент исполнение невозможно. Попробуйте позже.


Решение:

Эта ошибка означает, что вы превышаете ограничение вашего тарифного плана на количество одновременно исполняемых скриптов. Для решения этой проблемы вам необходимо перейти на тарифный план с меньшими ограничениями, VPS или выделенный сервер, либо каким-то образом снизить количество одновременно исполняемых скриптов.

Вы ознакомились с наиболее часто задаваемыми вопросами, но не нашли нужного ответа? Или информации на сайте оказалось недостаточно?

Тогда напишите нам!

*Ваш e-mail:

 Номер вашего Лицевого счета:

 Категория вопроса:

*Вопрос:

*Введите отображаемый код: