lnmp環境下一臺伺服器配置裡個專案,介面訪問時返回資料但header頭status code=500
阿新 • • 發佈:2018-11-09
公司一個軟體專案微信客戶端本人開發用了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,結果報錯解除,訪問正常。
在此做個記錄,希望能為同行菜鳥們遇到相同問題有個參考。