У меня RedHat Linux 8.0. Хочу установить PHP. Установил их. Apache 2 работает. И PHP 4 (из командной строки). Но я их не могу "связать": при открытии в браузере php-страницы - ошибка 500. Да и понятно: в httpd.conf ни слова о php. В книжке написано: установите пакет mod_php, и php пойдет из браузера. НО У МЕНЯ НЕТ НА ДИСКАХ MOD_PHP! ЕСТЬ MOD_PERL, MOD_ ЧЕГО-ТО ТАМ, НО НЕ MOD_PHP! СПАСИТЕ!
Файл error_log: Premature end of script header in file script.php А браузер пишет перевод этой фразы на русский и номер ошибки - 500
Такого файла вообще нет. Есть только папка /etc/httpd/modules. Там есть libphp4.so. И он подключается. Вот только толка нет...
Да. А как жея проверю? Добавил LoadModule mod_php modules/libphp4.so, httpd пишет: Module modules/libphp4.so is already loaded, skipped.
Тогда следующий тест... файл со слдующим кодом: PHP: <?php phpinfo(); ?> Если не рабюотает, то надо дописать в конфиг AddType (это должен установщик сам делать, но вдруг...)
Да благодаря этому тесту я и понял, что связка не работает! Вот и обратился Дописал, в самом начале эпопеи. И файл в cgi-bin поместлил. Все это в книге написано. И еще про mod_php написано. А у меня его нет. Ну мне кто-то поможет?!
Как это нет? Когда Дело в том, что если просто неработал бы php, то в итоге получалась бы страница с "непереваренным" кодом и все: никаких ошибок. А вот это-странно. Такое ощущение, что неправильно скрипт написан или сам php криво работает (все-таки 8-й редхат штука древняя, сборки новых версий все левые).
А вот так. Видимо, в RedHat Linux 8.0 его нет. Есть mod_perl, но не mod_php. В книге по PHP написано, должен быть. Не знаю. Есть и все. Я так понимаю, что PHP нормально работает. Но Apache не может правильно воспринять его ответ. Возможно, и обращается к PHP Apache неверно. Да правильный скрипт: PHP: <?php phpinfo(); ?> Можно и по-другому: PHP: <?php echo("test"); ?> И так вообще: PHP: <?php ?> Я ведь в принципе PHP знаю, но программил на серверах. Вот. решил не тратить деньги на интернет, программить локально...
Да не существует такого mod_php. Нигде. В wndows php5apache2.dll, в linux libphp4.so в modules apach'a. У меня Debian и в нем та же libphp5.so в /usr/lib/apache2/modules/. Так что из вариантов осталось рзве что нерабочая библиотека связки, больше я ничего придумать не могу.
Да нет, я не спорю, но мне кажется, так rpm-пакет называется, а не файл в modules. Да вот и я так думаю. А она не может вообще отсутствовать?