Подтвердить что ты не робот

Загрузка NGINX/PHP вместо выполнения

У меня есть NGINX-сервер, на котором работает fastcgi/PHP. Мне нужно добавить userdirs к нему, но я не могу заставить PHP выполнять файлы - он просто спрашивает меня, хочу ли я загрузить его. Он работает без userdir (например, он работает на physibots.info/hugs.php, но не в файле physibots.info/~kisses/hugs.php).

Config:

server {
    listen      80;
    server_name physibots.info;
    access_log  /home/virtual/physibots.info/logs/access.log;

    root /home/virtual/physibots.info/public_html;

    location ~ ^/~(.+?)(/.*)?\.php$ {
        fastcgi_param SCRIPT_FILENAME /home/$1/public_html$fastcgi_script_name;
        fastcgi_pass unix:/tmp/php.socket;
    }

    location ~ ^/~(.+?)(/.*)?$ {
        alias /home/$1/public_html$2;
        autoindex on;
    }

    location ~ \.php$ {
        try_files $uri /error.html/$uri?null;
        fastcgi_pass unix:/tmp/php.socket;
    }
}
4b9b3361

Ответ 1

Оказывается, что он ссылался на /home/foo/public _html/~ foo. Итак, круговая символическая ссылка из /home/foo/public _html/~ foo обратно в /home/foo/public _html работает как шарм. Спасибо за вашу помощь!

Ответ 2

У меня была аналогичная проблема на другом сервере. Моя проблема заключалась в том, что скрипты containerd <?. Принимая все это и помещая php после него (например, это <?php) в любом месте, где он появляется в script, выполняется загрузка файлов, а не загрузка их.

Надеюсь, что это поможет.

Ответ 3

Попробуйте добавить эту строку в блоки местоположения php:

fastcgi_param  REDIRECT_STATUS    200;

Btw - вы проверили, что существует php.socket?