• Что такое CGI?

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

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

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

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

    1. Подключить услугу «Поддержка CGI» (услугу «Поддержка 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 без особой на то необходимости.

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