本地用ThinkPHP框架開發好一個網站部署到SAE上

Sina App Engine(SAE)是新浪開發的首個國內公有云計算平臺。ThinkPHP對SAE平臺的支持是採用了引擎擴展的方式,只要會ThinkPHP開發,就能將程序運行在SAE上。

本地開發好一個以ThinkPHP框架爲基礎的網站,本網站開發所用集成環境爲WampServer。所用框架爲ThinkPHP3.1.3。

準備工作:

1、您需要具備SAE賬號,如果您沒有該賬號,請到SAE官方網站申請。

2、到ThinkPHP官方網站下載3.1.3版本的SAE引擎Engine,並把它放到ThinkPHP核心包的擴展包裏,SAE引擎在ThinkPHP包的位置:ThinkPHP/Extend/Engine。

好了,接下來是實現步驟:

1、創建一個應用,如下圖所示:

2、創建一個版本,版本號必須爲數字。將代碼部署到版本中。具體部署細節參見:http://jingyan.baidu.com/article/a501d80cd0b1feec630f5ea2.html

3、上傳代碼包,完整上傳代碼包後如圖所示:

3、創建數據庫。打開數據庫的路徑是:suoman(你的應用名稱) >> 服務管理 >> MySql >> 管理MySql。將本地開發好的網站的數據表導入。(注意只能導入數據表,SAE沒有開放創建數據庫的權限,如果你導入數據庫的話會報錯)。

4、配置項目入口文件(由於用ThinkPHP時我採用的獨立分組,所以是單入口文件):

<?php
define('APP_NAME','App');
define('APP_PATH','./App/');
define('APP_DEBUG',true);
define('THINK_PATH','./ThinkPHP/');
define('ENGINE_NAME','sae');

require './ThinkPHP/ThinkPHP.php';
?>
5、修改數據庫配置文件:

'DB_TYPE'=>'mysql',
'DB_HOST' => SAE_MYSQL_HOST_M,
'DB_USER' => SAE_MYSQL_USER,
'DB_PWD' => SAE_MYSQL_PASS,
'DB_NAME' => SAE_MYSQL_DB,
'DB_PREFIX' =>'tp_',
6、不出意外的話,打開地址(http://suoman.sinaapp.com) ,會看到提示"您的Memcache還沒有初始化,請登錄SAE平臺進行初始化~",如果沒有說明您的Memcache已經初始化好了,可跳過。

7、初始化Memcache,在左側"服務管理"找到Memcache,點擊初始化即可。容量1M~256M,根據自己實際情況選定。

8、打開地址 http://suoman.sinaapp.com ,看到了“XX網絡科技”的首頁,以爲大功告成,欣喜之餘,點開導航的下拉菜單,卻發現無法訪問文章列表頁和文章內容頁。報錯:在服務器上無法訪問此URL。狀態欄顯示爲"www.suoman.sinaapp.com/x.html”。原來是本地開發時隱藏了入口文件index.php,但是SAE無法訪問,原因是SAE不支持.htaccess文件。所以在SAE上隱藏入口文件時導致SAE無法找到URL。沒關係,我們可以使用SAE提供的AppConfig服務實現僞靜態。在你項目的根目錄下找到config.yaml文件(沒有的話自己建一個),加上如下代碼:

handle:

- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"

這樣就可以隱藏入口。

效果演示:http://www.suoman.sinaapp.com 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章