Я получаю «ошибку формата exec» или ошибку разрешения при попытке выполнить любой скрипт при новой установке suse enterprise linux 12. Он работал на слес 11, но теперь даже phpinfo не работает.
Поэтому для тестирования я использую эту простую строку
<?php phpinfo(); ?>
который в командной строке, как через php -f test.php
работает отлично. При вызове из браузера с использованием URL-адреса в каталоге cgi это приводит к ошибке 500.
В журнале ошибок apache отображаются «ошибка формата exec» и «конец сценария перед заголовками вывода» при его запуске с владельцем root: root без строки shebangand.
Когда я добавляю явный заголовок и строку shebang, чтобы скрипт выглядел следующим образом
#! /usr/bin/env php
<?php
header('Content-Type: text/html');
phpinfo();
?>
В результате в файле журнала apache возникает ошибка «неправильно сформированный заголовок».
Права доступа к файлу установлены на -rw-r--r--
все время. При смене владельца с root: root на wwwrun: www ничего не меняется. Из обычного каталога htdocs браузер предлагает загрузить файл.
Я убедился, что установлены пакеты bot php5 и apache2-mod_php5.
Я был бы счастлив, если бы кто-нибудь мог дать подсказку о том, как запустить PHP-скрипты на этом. Спасибо!
Ладно, сам разобрался
Пакет mod_php5 был установлен, но он не активировался автоматически. Делать:
a2enmod mod_php5
rcapache2 restart
Файл должен быть настроен следующим образом:
-rwxr-xr-x 1 wwwrun www 54 Feb 13 13:43 test.php
Других решений пока нет …