Круглосуточная техподдержка:

+375 (17) 239-57-03
Круглосуточная поддержка

Тел. городской: (017) 239-57-03
velcom: (029) 309-12-26 доб.3
МТС: (029) 861-91-00 доб.3
Электронная почта: support@hoster.by

Отдел продаж:

+375 (17) 239-57-02
Отдел продаж

Тел. городской: (017) 239-57-02
velcom: (029) 3-4444-83
МТС: (029) 776-44-83
life: (025) 720-52-66
Факс: (017) 239-57-20
Электронная почта: info@hoster.by

CGI/PHP скрипты

  • 8.1 Не работает PHP-скрипт
    Услуга PHP включена во всех тарифных планах хостинга, поэтому проверьте следующее:
    •файлы должны называться.php3 для php3 и.php4,.phtml,.phtm или.php — для php4;
    •файлы с PHP не могут содержать в себе еще и SSI;
    •файл должен принадлежать пользователю с этого сайта;
    •проверьте наличие предупреждений или ошибок в файле error_log.
  • 8.2 У меня не работает скрипт! (типовые ошибки)
    1. Убедитесь в правильности написания первой строки в скрипте, например для Perl она должна быть: #!/usr/bin/perl
    2. Проверьте правильность расширения файла.
    3. При загрузке Perl-скрипта на сервер по FTP его обязательно нужно передавать как ASCII-файл. Если Вы загружаете скрипт с помощью современных FTP-клиентов, то они обычно автоматически передают файлы с расширением.pl и.cgi как ASCII.
    4. Для того чтобы успешно запускать приложения, необходимо устанавливать на все каталоги права доступа 705 (rwx-r-x), а на сами программы — 700 (rwx-). В CuteFTP нажмите правую кнопку мыши на имени файла и выберите Change File Attribute. В FAR выделите имя файла и нажмите Ctrl-A. В Total (Windows) Commender выберите нужный файл и в верхнем меню найдите пункт Files->Change Attributes.
    5. Убедитесь, что скрипт не содержит синтаксических ошибок. Если это Perl-скрипт, то его можно проверить прямо на сервере. Зайдите через SSH и наберите команду: perl — c имя_скрипта.pl
    6. Если Ваш скрипт самостоятельно создает файлы, проверьте, установлены ли соответствующие права записи на директорию.
    7. Если скрипт что-то выводит на экран браузера, то сначала он должен написать: Content-type: text/html\n\n, а далее стандартный HTML код. Если Вы по-прежнему видите на экране сообщение об ошибке, Вы можете обратиться в службу технической поддержки (support@tutby.com или по тел. 289-12-26).
  • 8.3 Как запускать CGI-приложения?
    Вы можете запускать CGI-приложения в любом каталоге, но для обеспечения совместимости Вам предлагается виртуальный каталог cgi-bin. Ваш виртуальный сервер работает в безопасном режиме suEXEC, что дает возможность запускать CGI-приложения от Вашего имени пользователя (пользователь:vhosting). Для того чтобы успешно запускать приложения, необходимо устанавливать на все каталоги права доступа 705 (rwx-r-x), а на сами программы — 700 (rwx-). Все скрипты должны иметь заголовок с указанием обработчика. Например, скрипт, написанный на Perl, должен быть в Unix-кодировке и иметь заголовок #!/usr/bin/perl. Важно: все CGI-приложения должны иметь расширение.cgi или.pl.
  • 8.4 Как узнать список всех переменных среды Apache?
    С помощью очень простого скрипта: #!/usr/bin/perl print "Content-type: text/html\n\n"; for $i (keys %ENV) { print "$i = ". $ENV{ "$i"}. "
    "; }
  • 8.5 Как запускать скрипты на языке PHP?
    По умолчанию все php-скрипты запускаются через модуль mod_php. Все такие скрипты должны иметь расширения .php, .php3, .php4, .phtml или .phtm. Для этих скриптов не требуется устанавливать особые атрибуты, достаточно руководствоваться правилом, описанным выше.
    Важно: Ваш сервер работает в безопасном режиме и Вы не можете запускать из php-скрипта никакие программы, кроме предложенных в каталоге /php-bin. Если Вы хотите запускать другие программы, Вам необходимо запускать php-скрипты по механизму CGI, т. е. сделать им расширение .cgi, добавить заголовок #!/usr/bin/php и установить права, следуя инструкциям по запуску CGI-приложений.
  • 8.6 Можно ли в html'е исполнять PHP?
    По умолчанию файлы с PHP должны иметь расширение .php, .php3 или .php4, .phtml. Если Вы хотите исполнять PHP-код в файлах с расширением .html (или любым другим - например .foo, .xxx и т. д.), Вам нужно создать файл .htaccess со следующими записями:
     
    RemoveHandler.html. htm
    AddType application/x-httpd-php .php .html .htm .foo .xxx

    Первая строка отменяет настройки по умолчанию для файлов .html и .htm, а во второй строчке нужно перечислить расширения файлов, которые должны исполняться как PHP.

  • 8.7 Как правильно указать кодировку документа, чтобы браузеры смогли правильно отобразить результат работы скрипта?
    Кодировка документа, который отдается браузеру, устанавливается в виде параметра charset в поле заголовка Content-type. Согласно RFC2616 браузеры обязаны предпочитать кодировку, указанную сервером при первоначальном отображении документа. В результате в заголовке должна присутствовать следующая строка: Content-type: text/html; charset=koi8-r (для документов в кодировке koi8-r) или Content-type: text/html; charset=windows-1251 (для документов в кодировке Windows). Заголовки отсылаются браузеру перед выводом каких-либо других данных. Рассмотрим примеры (в них предполагается, что результатом работы скрипта являются данные в кодировке koi8-r; для кодировки Windows используйте charset=windows-1251). 1. Perl + CGI.pm. Перед тем, как выводить какие-либо другие данные, Вы должны инициализировать объект CGI и вызвать метод header. Пример: #!/usr/bin/perl — w use CGI; my $i = new CGI; $i->header("text/html; charset=koi8-r"); 2. Perl. Первым оператором, выводящим в STDOUT должен быть: print "Content-type: text/html; charset=koi8-8"; 3. PHP. Используйте функцию header() для вывода заголовков.

Вернуться к содержанию

Видео-уроки