0

我在 Centos 8 上安装了 Nginx Web 服务器,突然在我在 Nginx 配置中启用在 HTML 中执行 PHP 后,我无法登录到一些安装的脚本,如 FileRun 或 ProjectSend 或我创建的简单 PHP 表单,我得到的是当我输入正确的登录信息,网页重新加载,登录后不重定向到主页或下一页,我尝试按原样备份所有内容,但仍然无法正常工作。
我所做的正是启用在 HTML 中执行 PHP 是

  1. 将此行位置 ~ .php$ 更改为位置 ~ .(php|html|htm)$ {
  2. 之后我去 /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然后它重定向到同一个index.php,而不是让我在登录后进入主页。

我不知道发生了什么,但我真的停留在这一点上并且找不到解决方案,有什么建议吗?

4

1 回答 1

0

我通过使/var/lib/php文件夹授予它0777权限解决了这个问题我不知道是什么让它突然改变了它的权限,但是这个文件夹包含session导致问题的文件夹名称使这个文件夹不可写使得网络应用程序不保存会话所以它不记录会话和 cookie 这就是为什么没有登录被重定向到主仪表板..等你可以在这里查看这个答案

于 2020-08-07T16:21:09.900 回答