|
|
|
| Есть Linux Ubuntu 8.04 установленными Apache 2.2.8 и PHP 5.2.4 (в виде модуля к Apache). PHP5 работает нормально. Задача в том, чтобы одновременно с поддержкой PHP5 можно было запускать некоторые сайты на PHP4, и я пробовал решить эту задачу, следуя найденой статье Running both PHP4 and PHP5 (http://my.opera.com/zomg/blog/2007/08/12/running-both-php4-and-php5), установкой PHP4 как cgi-приложения. Установил php4-cgi, залил в папку /var/www/mysite файлы .htaccess и index.php.
.htaccess следующего содержания, для запуска моего index.php с помощью PHP4:
AddHandler php-script .php
Action php-script /usr/bin/php4-cgi
|
И заходя по адресу http://localhost/mysite/, вижу ошибку 404 Not Found: The requested URL /usr/bin/php4-cgi/mysite/index.php was not found on this server. В чём здесь проблема, помогите? Почти не разбираюсь в Apache и не понимаю, почему вместо выполнения программы php4-cgi происходит какое-то перенаправление. Нашёл в сети что-то о проблеме в Apache 2 со связкой AddHandler+Action, но не понял, как исправить мою ситуацию:(. | |
|
|
|
|
|
|
|
для: qjmann
(25.07.2008 в 17:41)
| | По моему не хватает
<Directory "/usr/bin">
Options ExecCGI
</Directory>
|
| |
|
|
|
|
|
|
|
для: Trianon
(26.07.2008 в 09:37)
| | Не совсем то, но похоже. После долгих поисков и проб всё-таки нашёл в чём проблема. Во-первых, вместо /usr/bin/php4-cgi надо /usr/lib/cgi-bin/php4. Во-вторых, если этот путь вставить прямо в .htaccess, ничего хорошего не получится... Надо в конфиг апача добавить строку:
ScriptAlias /php4-cgi "/usr/lib/cgi-bin/php4"
|
И в .htaccess - ссылку не на cgi-файл, а на его alias:
AddHandler php-script .php
Action php-script /php4-cgi
|
После этого всё заработало как надо:) | |
|
|
|