• Что такое CGI?

    CGI или Common Gateway Interface — интерфейс серверной обработки скриптов, позволяющий взаимодействовать программам клиента с программами, запущенными на сервере.

  • Каковы особенности работы с CGI на «Джино»?

    Путь к интерпретатору perl: /usr/bin/perl.

    CGI-скрипты могут находиться в любой директории вашего сайта; по умолчанию CGI-скрипты могут иметь расширения .cgi или .pl. Для запуска скрипта необходимо сделать его исполняемым, для этого на него нужно установить права 0755 (rwxr-xr-x).

    Директория, в которой расположены скрипты, должна быть доступна для записи только владельцу (права 0755). Если вы установили возможность записи в директорию, где находятся скрипты, группе или всем пользователям, CGI-скрипты выполняться в ней не будут.

    CGi-скрипты необходимо закачивать на сервер, включив в настройках FTP-клиента опцию передачи данных в режиме ASCII.

  • Как запустить PHP в режиме CGI?

    Запуск PHP в режиме CGI позволяет указывать свой php.ini, работать из PHP с любыми файлами на аккаунте и иметь полный доступ к файлам, созданным из PHP.

    Порядок действий:

    1. Подключить услугу «Поддержка скриптовых языков» * (услугу «Поддержка PHP» можно отключить).
    2. Создать файл php.cgi:

      #!/bin/bash
      /usr/local/bin/php-cgi -n
      или
      #!/bin/bash
      /usr/local/bin/php-cgi -c /путь/к/файлу/php.ini
      
    3. Закачать файл на сервер в ASCII-режиме в папку домена, на котором предполагается запускать PHP в режиме CGI. Например, для домена test.ru это будет папка /domains/test.ru. Если домен размещен в папке /docs, файл нужно закачивать в папку /docs. Если закачать файл не в ASCII-режиме, скрипт работать не будет, будет выдаваться ошибка 500 (Internal Server Error).

    4. Установить на файл php.cgi права 0755 (rwxr-xr-x).

    5. Проверить права на папку домена. Должны быть установлены права 0755 (drwxr-xr-x). Внутри папки с правами 0777 (drwxrwxrwx) скрипт работать не будет, будет выдаваться ошибка 500 (Internal Server Error).
    6. Создать файл .htaccess в директории домена, на котором PHP будет работать в режиме CGI, и поместить в него следующие директивы:
      Action php-cgi /php.cgi
      AddHandler php-cgi .php
      

    Теперь файлы с расширением .php будут обрабатываться PHP интерпретатором в CGI-режиме.

    Недостатки такого способа: низкая скорость работы, недоступность некоторых функций модуля и потенциальная небезопасность: если ваш скрипт взломают, это может иметь более серьезные последствия, чем если бы PHP работал как модуль Apache. Поэтому мы не рекомендуем запускать PHP через CGI без особой на то необходимости.

    * Если ваш аккаунт создан до 25.10.2021 г., то вам нужно вместо услуги «Поддержка скриптовых языков» подключить услугу «Поддержка CGI».

Служба техподдержки
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
+7 495 229-30-31 Москва
+7 812 407-17-11 Санкт-Петербург
+7 343 288-50-31 Екатеринбург
© Джино, 2003–2024. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информация Политика конфиденциальности Карта сайта