在百度云主機上部署thinkphp5.1的注意事項

下面由TP5教程欄目給大家介紹在百度云主機上部署thinkphp5.1的注意事項,希望對需要的朋友有所幫助!

在百度云主機上部署thinkphp5.1的注意事項

thinkphp5.1部署在百度云主機的注意事項

網站建好了,找了一圈好點的云主機部署,首先看的是openshift,雖然有免費的支持,但是限制很多,且部署相當麻煩。正好看到最近百度云主機做活動,于是搞了一個bch玩一玩。但是也遇到很多坑,加上百度云主機對應的支持文檔寫的簡單隨意,也是遇到不少麻煩,整理出來,供參考。

1、程序文件上傳位置

需要把你的程序根目錄文件下的文件和文件夾上傳到云主機對應的/webroot目錄下,/webroot下此時已經有一些系統自動生成的文件,沒關系,直接把你的文件內容(注意不是你的程序文件的根目錄這一個文件夾,而是根目錄下的所有內容)上傳到這里就可以了。

2、首頁無法進入的問題

立即學習PHP免費學習筆記(深入)”;

無法進入自己的首頁,主要因為從是thinkphp5開始,入口頁面index.php被放在了public目錄下了,所以,nginx這時候找不到入口文件,所以進步了主頁。這時候有兩種處理辦法:

第一,是將你的入口文件從public下copy到webroot下面,這里需要注意修改你入口文件中的配置,比如:

//?定義應用目錄? define('APP_PATH',?__DIR__?.?'/../application/');? require?__DIR__?.?'/../thinkphp/start.php';

改為

?//?應用目錄 define('APP_PATH',?__DIR__.'/application/'); //?加載框架引導文件 require?'./thinkphp/start.php';

由于這里涉及到修改框架結構,本著盡量少改動的想法,我沒有選擇這種做法

第二,在webroot目錄下新建index.php文件,增加一句代碼即可

<?php require &#39;./public/index.php&#39;;

這樣就實現了通過新添加引導文件引導到我們正確的入口文件的目的,OK,這個時候你再試下,程序正常進入首頁

3、只有首頁能進入,其他頁面404無法找到文件

主要是因為在thinkphp中做了url的重寫PATHINFO,隱藏了入口文件,所以你在你的apache服務器中是沒有感知,http://localhost/index.php 與 http://localhost 是一樣的效果,但是在云虛擬機中,用的是nginx,這個時候,你的入口文件就隱藏不了了,如果要隱藏,就會報錯404無法找到文件。要么你在處理時候注意加上入口文件,要么做url重寫。

在webroot下新建bcloud_nginx_user.conf文件,代碼如下:

??location?/?{? ???if?(!-e?$request_filename)?{ ???rewrite??^(.*)$??/index.php?s=/$1??last; ???break; ????} ?}

4、可能你會遇到靜態文件js/css/images等文件找不到,缺少樣式等問題

這個時候你可以看看加載web時候,靜態網頁的地址是否正確,三種辦法處理,一是在你的php的template.conf文件中做replace配置修改,把相應的文件做好別名;一種是重定向,在webroot下添加文件bcloud_nginx_user.conf,添加代碼

location?~?^/(images|JavaScript|js|css|flash|media|static)/?{ ????????root?/home/bae/app/htdocs; ????????#過期30天,靜態文件不怎么更新,過期可以設大一點,如果頻繁更新,則可以設置得小一點。 ????????expires?30d; ????}

或者第三種辦法,bcloud_nginx_user.conf種添加代碼如下

location?/?{ root?/home/bae/app/public; index?index.php?index.html?index.htm; }

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享