MegaMufa
@MegaMufa

[nginx + php-fpm + Yii2] Почему сохраняет index.php как текстовый файл?

Пытаюсь прикрутить связку nginx + php-fpm для работы сайта на yii2.
Сделал по этой инструкции (за исключением шага с бд).
Если открыть файл info.php из примера - все отрабатывает нормально и видно результат функции phpinfo(). Но если обратиться к файлу index.php или если запрос будет передан в него автоматически, то браузер предложит сохранить файл.

Подскажите, почему index.php не обрабатывается интерпретатором?
Вот конфиг nginx:
server {
        listen   80;
        root /home/haru/projects/site/web;
        index index.php;
        server_name site.loc;

        location / {
                try_files $uri $uri/ /index.php;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
  • Вопрос задан
  • 4772 просмотра
Пригласить эксперта
Ответы на вопрос 3
hell0w0rd
@hell0w0rd
Просто разработчик
upstream php-fpm {
    server unix:/var/run/php5-fpm.sock;
}

server {
    listen   80;
    root /home/haru/projects/site/web;
    index @app;
    server_name site.loc;

    location / {
            try_files $uri @app;
    }

    location @app {
        rewrite ^ index.php;
    }

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
          root /usr/share/nginx/www;
    }

    location ~ \.php$ {
            fastcgi_pass php-fpm;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}
Ответ написан
Комментировать
Fiesta
@Fiesta
Системный администратор, управляющий
Нужно включить PHP как модуль Apache или как CGI
Ответ написан
merryjane
@merryjane
Системный администратор
В настройках php (в файле /etc/php5/fpm/php.ini) проверьте, что:
short_open_tag = On
Если выключено, включите. и Перезапустите после этого fpm.
Ответ написан
Ваш ответ на вопрос

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

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