Не могу сделать простой вход в PHP форму Centos 8 Nginx 1.41 - PullRequest
0 голосов
/ 07 августа 2020

У меня установлен веб-сервер Nginx на Centos 8, внезапно после того, как я включил выполнение PHP в HTML в конфигурации Nginx, я не могу войти в некоторые установленные сценарии, такие как FileRun или ProjectSend или простой PHP форма, которую я создал, то, что я получил, - это когда я ввожу правильную информацию для входа, перезагружаю веб-страницу, а не перенаправляю на главную страницу или следующую страницу после входа в систему, я пытался вернуть все, как было, и все еще не работает.
То, что я сделал, чтобы включить выполнение PHP в HTML, - это

  1. изменить расположение строки ~ .php $ на расположение ~. (php | html | htm) $ {
  2. после этого I go в / etc / php -fpm / www.conf и добавьте эту строку security.limit_extensions =
  3. перезапустите как Nginx, так и PHP - FPM и PHP отлично работают в HTML

Это последнее изменение, которое я сделал на моем Nginx сервере и полной Nginx конфигурации, которую я использую

server {
    listen         80;
    server_name    mydomain.com www.mydomain.com;
    return         301 https://$host$request_uri;
}
server {
    server_name mydomain.com www.mydomain.com;
    root /home/mydomain/public_html;
    index index.html index.htm index.php;
    access_log /var/log/virtualmin/mydomain.com_access_log;
    error_log /var/log/virtualmin/mydomain.com_error_log;
    client_max_body_size 4096M;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SCRIPT_FILENAME /home/mydomain/public_html$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT /home/mydomain/public_html;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    fastcgi_param HTTPS $https;
    location ~ \.(php|html|htm)$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
    }
    
    location /downloads {
        autoindex on;
    }
    
    location /license {
        try_files $uri $uri/ /license/index.php; 
    }
    
    listen ip:443 default ssl;
    ssl_certificate /home/mydomain/ssl.combined;
    ssl_certificate_key /home/mydomain/ssl.key;
    fastcgi_read_timeout 60;
}

и то, что я получил от инструмента разработчика firefox (сеть), это 2 запроса со статусом 302 Found, затем он redi относится к тому же индексу. php и не переводит меня go на главную страницу после входа в систему.

Я не знаю, что произошло, но я действительно застрял на этом этапе и не могу найти решение, какие-либо предложения?

1 Ответ

0 голосов
/ 07 августа 2020

Я решил проблему, заставив папку /var/lib/php дать ей разрешение 0777 Я не знаю, что заставляет ее внезапно изменить свое разрешение, но эта папка содержит имя папки session, которое вызывало проблему, сделайте эту папку недоступен для записи, чтобы веб-приложения не сохраняли сеансы, поэтому они не записывают сеанс и файлы cookie, поэтому вход в систему не был перенаправлен на главную панель управления. c вы можете проверить этот ответ здесь

...