zoukankan      html  css  js  c++  java
  • lnmp环境的nginx的tp5配置

      php7.1

     1 server {
     2   listen 80;
     3   server_name www.tp5.com;
     4   access_log  /home/wwwroot/access.log  combined;
     5   error_log /home/wwwroot/error.log;
     6 
     7   set $root /home/wwwroot/default/mytp5/tp5/public;
     8 
     9   location ~ .php {
    10         fastcgi_pass unix:/tmp/php-cgi.sock;
    11         fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
    12         fastcgi_param PATH_INFO $fastcgi_path_info;
    13         fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    14         fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
    15         include        fastcgi_params;
    16     }
    17     location ~ .*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
    18     {
    19         root $root;
    20     }
    21     location / {
    22         root    $root;
    23         index    index.html index.php;
    24         if ( -f $request_filename) {
    25             break;
    26         }
    27         if ( !-e $request_filename) {
    28             rewrite ^(.*)$ /index.php/$1 last;
    29             break;
    30         }
    31     }
    32 
    33 
    34 }

    如果出现了错误

    1 FastCGI sent in stderr: "Access to the script '/usr/local/nginx/html' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 192.168.124.1, server: www.tp5.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "www.tp5.com"

    1. 在你php-fpm配置文件php-fpm.conf中设置security.limit_extensions 为 .php 或 .php5,或者其他任何与你环境一致的后缀名。 对于开发环境下的一些用户来说, 完全移除所有security.limit_extensions的值或设置为FALSE,能够保证可以正常工作.
    2. 在你的nginx配置文件中设置fastcgi_pass 为你的socket地址(e.g. unix:/var/run/php-fpm/php-fpm.sock;), 替代ip地址:端口这种方式(127.0.0.1:9000).
    3. 检查你的SCRIPT_FILENAMEfastcgi_param 并根据你文件的地址来设置它们.

    4. 在你的nginx配置文件中包含有fastcgi_split_path_info ^(.+.php)(/.+)$; 则所有其他的对应fastcgi参数也都应该在location块中定义;具体可参考phalcon的nginx官方配置

    5. 在你的php.ini配置文件中,设置cgi.fix_pathinfo=1

    我就是因为第五个原因,cgi.fix_pathinfo默认没有设置为1,而造成页面总是显示Access denied

  • 相关阅读:
    AC自动机
    哈希与哈希表
    Trie字典树
    整除
    P3375 【模板】KMP字符串匹配
    KMP算法
    Luogu-P1004 方格取数
    Luogu-P2758 编辑距离
    Luogu-P1018 乘积最大
    Luogu-P1880 [NOI1995]石子合并
  • 原文地址:https://www.cnblogs.com/matengfei123/p/9036541.html
Copyright © 2011-2022 走看看