1. 程式人生 > >將Windows本機的thinkPHP專案上傳到Linux伺服器(阿里雲伺服器)

將Windows本機的thinkPHP專案上傳到Linux伺服器(阿里雲伺服器)

       之前還沒買伺服器的時候,同學將他的伺服器借我玩玩,我就將自己之前寫的thinkPHP簡陋的部落格專案上傳到上面試了一下,

雖然也碰到錯誤,最後通過百度都成功解決,詳見前面的博文。前幾天買了阿里雲伺服器,我就想把此專案上傳到自己的Linux服務

器,結果碰到的錯誤比之前還多,最後還好成功通過百度解決了,下面是詳細的內容:

問題一:我想將本地的 sql 檔案上傳到伺服器,通過 Xshell 工具敲完命令列:mysql -uroot -p 然後回車敲完密碼再回車之後一直報

錯:Access denied for user ‘root’@’localhost’ (using password "NO"),最後通過百度解決方案如下:

原因應該是密碼錯誤吧。進入 /etc/my.cnf 資料庫配置檔案新增 skip-grant-tables 然後點選儲存就可以通過剛才的命令且不用密碼

入 mysql,然後就可以自己通過命令修改完 mysql 登陸密碼再還原之前的配置檔案(去掉skip-grant-tables),最後儲存修改後就可

以正常通過密碼登陸 mysql 了,截圖如下:








接下來匯入資料庫檔案:




問題1:接下來我以為會順利地訪問到伺服器上的專案,不曾想它報錯:

SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'server-ip' (110),

百度後發現他們遇到的問題跟我還是不同,然後跟同學討論之後發現可能是我專案配置檔案 config.php 裡面的 'DB_HOST' 寫成了

我自己伺服器 ip 導致的錯誤,得改成 '127.0.0.1' ,結果果然是這個問題。(這就奇怪了,之前我用同學的伺服器上傳的時候就是因

為將 'DB_HOST' 寫成了 '127.0.0.1' 導致出錯,後來我改成伺服器 ip 就對了,結果猜測原因只能是因為他的伺服器是國外的的緣故

了,而我這個阿里雲伺服器是國內的吧。啊啊!一臉懵逼!)


問題三:繼續報新的錯誤:

_STORAGE_WRITE_ERROR_:./APP/Runtime/Cache/Home/ca45bc9edb36ddb9191636ccff1c0883.php

還好之前碰到過了,原因及解決方案如下:

字面意思是“儲存寫入錯誤即無許可權”,搜尋後的解決方法很簡單,直接一句話設定該檔案目錄的許可權


為 “777” 即可成功解決!

如你的專案檔案都放在資料夾目錄名為 “APP” 的資料夾裡面,而且是在 /webdata 可以通過以下命令設定:

chmod -R 777 /webdata/APP


最後大功告成!