1. 程式人生 > >lnmp環境下一臺伺服器配置裡個專案,介面訪問時返回資料但header頭status code=500

lnmp環境下一臺伺服器配置裡個專案,介面訪問時返回資料但header頭status code=500

公司一個軟體專案微信客戶端本人開發用了thinkphp3,一個api配合客戶端app使用用了thinkphp5,兩個不可合二為一,只能在一臺伺服器上配置一個客戶端入口,一個api入口。

第一步:伺服器建立平行的兩個目錄,分別放上面兩個框架的程式碼;

第二步:nginx配置訪問入口,在/etc/nginx/sites-available/default檔案增加如下程式碼:

server {
        listen 8010;
        server_name localhost;
        root /xxx/xxx;
        index index.html index.htm index.php;

#       access_log /root/access.log;
#       error_log /root/error.log;

        location / {                           
                try_files $uri $uri/ =404;                
        }
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;               
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

第三步:單獨用ip:8010/index.php/模組/控制器/方法/引數就能訪問到介面

此時出現一個問題,訪問介面資料成功返回,但header頭Status Code:500,而呼叫介面的html用ajax訪問一直返回500伺服器錯誤,並且ajax一直走error,走不到success中,錯誤返回狀態是連線錯誤。此時,ajax error中xmlhttprequest.status=0, readystate=4.(找了一天原因,沒找到,只知道伺服器內部錯誤),看來介面本身沒有問題,會不會伺服器其他問題,找遍部落格,一語點醒夢中人:有個哥們說是runtime的許可權問題!多謝這哥們,日誌要有寫許可權,於是改runtime所有檔案chmod -R 777 runtime,結果報錯解除,訪問正常。

在此做個記錄,希望能為同行菜鳥們遇到相同問題有個參考。