|
|
|
| До настоящего момента работал с php, установленным в качестве модуля. Всё нормально работало.
Возникла необходимость работы с php как с cgi-приложением. Для этой трансформации
я в файле httpd.conf заменил строки
AddType application/x-httpd-php phtml php
LoadModule php5_module "C:/GPL/PHP/php5apache2_2.dll
|
на строки
AddType application/x-httpd-php phtml php
<Directory "C:/GPL/PHP/">
Options ExecCGI
</Directory>
ScriptAlias "/php_dir/" "C:/GPL/PHP/"
Action application/x-httpd-php "/php_dir/php-cgi.exe"
|
так, как было указано в двух статьях из инета.
Но при этом браузер выводит ошибку
FORBIDDEN. You don't have permission to access /php_dir/php-cgi.exe/index.php on this server.
|
Странно, почему здесь фрагмент /php_dir/ не заменён на C:/GPL/PHP/...
Если убрать ScriptAlias
AddType application/x-httpd-php phtml php
<Directory "C:/GPL/PHP/">
Options ExecCGI
</Directory>
Action application/x-httpd-php "C:/GPL/PHP/php-cgi.exe"
|
выводится уже другая ошибка:
NOT FOUND. The requested URL /GPL/PHP/php-cgi.exe/index.php was not found on this server.
|
А здесь уже куда-то-то исчез фрагмент "C:/"...
Одним словом, не работает. Может, где ещё чего изменить ? | |
|
|
|
|
|
|
|
для: Cyrax
(15.09.2008 в 19:48)
| | А может, как cgi его никто не юзает ? | |
|
|
|
|
|
|
|
для: Cyrax
(15.09.2008 в 19:48)
| | Проблема решена. Достаточно было внутри конструкции Directory указать Allow from all,
что означает разрешение доступа к этой папке с любых ip-ников:
AddType application/x-httpd-php phtml php
<Directory "C:/GPL/PHP/">
Allow from all
Options ExecCGI
</Directory>
ScriptAlias "/php_dir/" "C:/GPL/PHP/"
Action application/x-httpd-php "/php_dir/php-cgi.exe"
|
В файле httpd.conf были описаны свойства корневой папки следующим образом:
<Directory />
Options FollowSymLinks Includes Indexes
AllowOverride None
Order deny,allow
Deny from all
</Directory>
|
Т.е. на все папки (на все подпапки корневой папки) по умолчанию был установлен запрет
доступа для всех ip-ников. Этот запрет по умолчнию распространялся на все папки, описанные
в httpd.conf , включая C:/GPL/PHP.
Поэтому, необходимо было установить разрешение Allow from all либо в описании корневой папки, либо в описании папки C:/GPL/PHP.
[quote]Странно, почему здесь фрагмент /php_dir/ не заменён на C:/GPL/PHP/...[/quote]
А замена фрагменов по ScriptAlias'у, судя по всему, происходит после получения доступа к папке, поэтому в сообщении об ошибке указан /php_dir/, а не C:/GPL/PHP/ | |
|
|
|