Назад | Перейти на главную страницу

Сценарий CGI не работает в файле PHP

У меня есть сценарий CGI на сервере с именем script.cgi, и я добавил следующий код в домен vhost:

   Action add-footer /cgi-bin/script.cgi 
   AddHandler add-footer .htm .html 

Я изменил его на:

   Action add-footer /cgi-bin/script.cgi 
   AddHandler add-footer .htm .html .php

Если страница является HTML, код будет запущен, но если страница является PHP, код не запустится. Есть ли какой-нибудь код, который мне нужно добавить к vhost, чтобы файлы PHP могли запускать этот скрипт?

**** РЕДАКТИРОВАТЬ: ****

Я хочу «внедрить» HTML-код на каждую возможную страницу сервера, включая файлы HTML и PHP.

Код работает только с html-файлами, и я не знаю почему.

Извините, но я не понимаю, что CGI - это не PHP, это Perl, и для этого требуется поддержка Perl / CGI, а не PHP. Скрипты PHP имеют расширения .php, а не .cgi / .fcgi.

Может я что-то здесь упустил. Не могли бы вы еще прояснить вопрос. Нравится какой веб-сервер вы используете? Этот код PHP встроен в скрипт .cgi или?

***** РЕДАКТИРОВАТЬ *****

Так что вы можете рассматривать CGI как интерфейс, в вашем случае интерфейс, использующий Perl. Вы не можете смешивать PHP в среде CGI, но вы можете изменить сценарий .cgi для выполнения внешнего вызова сценария .php.

Это можно сделать несколькими способами:

  1. system () команда
  2. команда exec ()
  3. используя ручки
  4. используя обратные кавычки

HTML "работает" нормально, потому что HTML интерпретируется браузером, а PHP является серверным языком, который должен выполняться в соответствующей среде.

Предлагаю продолжить чтение о том, как Perl выполняет внешние скрипты:

http://www.perlhowto.com/executing_external_commands