CGI или Common Gateway Interface — интерфейс серверной обработки скриптов, позволяющий взаимодействовать программам клиента с программами, запущенными на сервере.
Путь к интерпретатору perl: /usr/bin/perl.
CGI-скрипты могут находиться в любой директории вашего сайта; по умолчанию CGI-скрипты могут иметь расширения .cgi или .pl. Для запуска скрипта необходимо сделать его исполняемым, для этого на него нужно установить права 0755 (rwxr-xr-x).
Директория, в которой расположены скрипты, должна быть доступна для записи только владельцу (права 0755). Если вы установили возможность записи в директорию, где находятся скрипты, группе или всем пользователям, CGI-скрипты выполняться в ней не будут.
CGi-скрипты необходимо закачивать на сервер, включив в настройках FTP-клиента опцию передачи данных в режиме ASCII.
Запуск PHP в режиме CGI позволяет указывать свой php.ini, работать из PHP с любыми файлами на аккаунте и иметь полный доступ к файлам, созданным из PHP.
Порядок действий:
Создать файл php.cgi:
#!/bin/bash
/usr/local/bin/php-cgi -n
или
#!/bin/bash
/usr/local/bin/php-cgi -c /путь/к/файлу/php.ini
Закачать файл на сервер в ASCII-режиме в папку домена, на котором предполагается запускать PHP в режиме CGI. Например, для домена test.ru это будет папка /domains/test.ru. Если домен размещен в папке /docs, файл нужно закачивать в папку /docs. Если закачать файл не в ASCII-режиме, скрипт работать не будет, будет выдаваться ошибка 500 (Internal Server Error).
Action php-cgi /php.cgi
AddHandler php-cgi .php
Теперь файлы с расширением .php будут обрабатываться PHP интерпретатором в CGI-режиме.
Недостатки такого способа: низкая скорость работы, недоступность некоторых функций модуля и потенциальная небезопасность: если ваш скрипт взломают, это может иметь более серьезные последствия, чем если бы PHP работал как модуль Apache. Поэтому мы не рекомендуем запускать PHP через CGI без особой на то необходимости.
* Если ваш аккаунт создан до 25.10.2021 г., то вам нужно вместо услуги «Поддержка скриптовых языков» подключить услугу «Поддержка CGI».