1. 程式人生 > >奪命雷公狗---linux NO:38 linux下nginx的pathinfo的支持

奪命雷公狗---linux NO:38 linux下nginx的pathinfo的支持

local windows http 解決 nbsp 127.0.0.1 fast class url

我們在nginx 中使用 thinkphp 的時候會遇到很多的問題,比如:

技術分享

沒權限,這個就是linux 權限管理的好處,我們給他權限。。

技術分享

我們給他權限即可正常訪問了:

技術分享

然後我們為 IndexController 控制器下添加一個lists的方法:

技術分享

然後我們添加一個lists的方法,如下所示:

技術分享

保存退出。對她進行訪問。。

技術分享

沒戲。。。因為nginx 不支持php後面的url 那裏帶斜線和後面帶一串的參數。。所以我們要想辦法讓他支持pathinfo。。

不過我們先來windows下的apache下測試,創建一個名字為:test.php 的文件,代碼如下所示:

<?php
    
echo "<pre>"; print_r($_SERVER);

技術分享

保存,然後對她進行訪問。。。

技術分享

這裏很明顯他已經認出來了。。

然後我們在 nginx 的html 目錄下一樣創建一個 test.php 的文件代碼和上面的一樣,如下所示:

技術分享

不加參數如下所示:

技術分享

一加參數則報錯,如下所示:

技術分享

我們的解決方案是修改 nginx.conf 文件,如下所示:

技術分享

技術分享

        location ~ \.php(.*)$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index
.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fastcgi_params; }

然後在去 目錄下重置下配置文件即可。。

./nginx -s reload

技術分享

然後再來訪問測試測試:

技術分享

ok,nginx 已經完美支持pathinfo了。。。

奪命雷公狗---linux NO:38 linux下nginx的pathinfo的支持