LINUX.ORG.RU
ФорумAdmin

apche + php as cgi


0

0

подскажите пожалуйста как подружить php4 и Apache.
если я устанавливаю php как модуль то нет проблем все работает , но мне надо установить его как cgi

как это правильно сделать ?

дистр debian sarge

устанавливаю php4-cgi

он утанавливает по умолчанию в /usr/lib/cgi-bin/ php4 и php-симлинк на /etc/alternatives/php-cgi-bin и я их просто переписал в /var/www/cgi-bin/


в конфиге Apache расскоментировал строки
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

в секции вирт-хостов

<VirtualHost 127.0.0.1:80>
ServerAdmin xxx@mail.ru
ServerName localhost
DocumentRoot /var/www/

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

ErrorLog /var/log/apache/error.log
LogSQLTransferLogTable access_log
</VirtualHost>


скрипт лежашии в /var/www/cgi-bin вот такой

#!/usr/bin/php
<HTML><BODY>
<?
$dir = opendir(".");
while($file = readdir($dir))
echo "$file<BR>";
closedir($dir);
?>
</BODY></HTML>

права доступа 755

запускаю скрипт из браузера вываливается Internal Server Error

звпускаю из консоли все OK , чувствую что не чватает конфига в апаче.

подскажите в чем проблема или дайте линку где об этом можно почитать.

anonymous

ну блин изменил в скрипте /usr/bin/php на /usr/bin/php-cgi и скрипт заработал .

так оно должно быть , или я что-то неправильно все-же делаю ?

anonymous
()
Ответ на: комментарий от anonymous

AddType application/x-httpd-php .php <и все остальные варианты расширений> ScriptAlias /_php/ "<путь к php>" Action application/x-httpd-php "/_php/php"

Вот так это работает на всех платформах, в том числе и на Debian Woody

bobych
()

есть 2 варианта
1.
кладешь в cgi-bin свой php-cgi
в конфиг хоста, апача или .htaccess добавляешь:

Action phpscript /cgi-bin/php-cgi
AddHandler phpscript .php

после этого все файло с расширением .php будет пускаться через /cgi-bin/php-cgi

2.
echo :php:E::php::/usr/bin/php-cgi: >/proc/sys/fs/binfmt_misc/register
тут /usr/bin/php-cgi путь до бинарника php

в apache
AddHandler cgi-script .php

а потом chmod 755 <mycool>.php

borisych ★★★★★
()
Ответ на: комментарий от anonymous

> ну блин изменил в скрипте /usr/bin/php на /usr/bin/php-cgi и скрипт заработал . так оно должно быть , или я что-то неправильно все-же делаю ?

угу, так и должно быть.

borisych ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.