Почему nginx выдает php текстом?

На сервере есть такой путь к скрипту /var/www/example/sites/example.com/parser
Есть вот такое в nginx.conf
location ~*/parser/ {
    root /var/www/example/sites/example.com;
    error_log /var/www/example/sites/logs/nginx_error_parser.log;
    index index.php;
}


при переходе на example.com/parser/ - выдает исходный код файла index.php. Что нужно дописать, что-бы работал интерпретатор?
  • Вопрос задан
  • 522 просмотра
Решения вопроса 1
kowap
@kowap Автор вопроса
location /parser/ { 
     rewrite ^(.*)$  /parser/index.php permanent; 
}

 location ~ /parser/.+\.php$ {
     error_log /var/www/theinsider/sites/logs/nginx_error_parser.log;
     root /var/www/theinsider/sites/theinsider.ua;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     include fastcgi_params;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_intercept_errors on;
     fastcgi_buffers 64 64k;
     fastcgi_buffer_size 256k;
     fastcgi_pass unix:/var/run/php5-fpm.sock;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Nc_Soft
Хендлер где? fastcgi_pass
Ответ написан
Fqyeh29
@Fqyeh29
↓ ИМХО ↓
А как вы пишите открывающие теги php? Если
<? 
/*Code*/
?>

то стандартно php не знает таких тегов, и не считает их кодом=> не выполняется. Надо в конфиге указать(точно не помню, но вроде оно там есть, просто раскомментировать надо)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы