2015年創業中遇到的技術問題:141-150

小雷FansUnion發表於2015-05-27


141.阿里雲提示“資訊洩漏”漏洞。
給了個地址:http://115.28.49.102/info.php
發現確實是可以訪問的。


問題原因:
  使用阿里雲服務,用的是PHP的映象,自帶的Apache,裡面有info.php,預設是可以訪問的。


解決辦法:刪掉。


刪除原始碼的過程中,發現info.php是我手動增加,用來測試的。
冤枉了那個PHP映象,我錯了。(*^__^*) 


142.Thinkphp的debug模式和快取。
thinkphp開啟除錯模式取消生成快取。


同時關閉了debug模式,但是沒有清除快取,導致系統重新部署,但是內容一直沒有更新。
後來,才意識到是debug和快取的問題。


143.很久很久沒有重新安裝作業系統了。
C盤的軟體太多,各種垃圾檔案也好大。
使用QQ電腦管家清理,軟體搬家,深度優化。


144.檢視Thinkphp的版本。
網上下載了一個開源的PHP系統,用的是Thinkphp這個框架。
但是,很明顯不是3.x的,因為我直接學的是3.x的最新版。
參考網上的資料,在common/defines.php發現了版本定義。
//  版本資訊
define('THINK_VERSION', '2.0');


不知道從2.x升級到3.x難度有多大。


145.登入跳轉問題。
    登入是用非同步跳轉的。
嵌入在iframe裡的時候,應該讓父視窗跳轉才行。
window.location不好,用window.parent。
window.parent.location = backUrl;


146.Thinkphp首頁URL。
用"__ROOT__/",不要用“__ROOT__”(回到了當前頁)。


同理,重定向也是這個問題,用
  redirect(__ROOT__."/", 1, '登入成功,頁面跳轉中...');
  而不是redirect(__ROOT__).
  
  最後的“/”是需要的。
  沒有“/”,本地執行沒啥問題,線上總是出問題,出現死迴圈。
  
  so,還是加上最後的“/”吧。


147.Thinkphp的include嚴格區分大小寫,更加穩妥一些。
上午折騰了2個小時,才發現是這個玩意導致的。


148.方維o2o系統url不對。
域名是:o2o.demo.com
很多url確實:o2o.demo.com/o2o
研究程式碼發現,獲得url使用了自己封裝的url函式,url函式最終依賴
define("FILE_PATH",""); //檔案目錄,空為根目錄


程式碼中的意思是,使用專案路徑,作為URL的一部分。
比如專案名稱是o2o,URL中就把o2o作為了路徑的一部分。


解決辦法:
define("FILE_PATH","/o2o"); 
system.init中的str_replace會把“/o2o”替換成“”,最終得到正確的url。


149.Thinkphp的快取比較坑啊。
先用localhost/crm訪問,生成了快取。
然後配置虛擬主機,用crm.demo.jiutianniao.com訪問,仍然跳轉到/crm,帶上了專案名稱。
為了定位問題,就把debug模式開啟了,結果正常了。
遇到好幾次這樣的情況了,下次再遇到,很快就能想起來是什麼問題了。
三折肱而成良醫。


150.5kCRM選單導航問題。
安裝之後,crm_navigation表就已經把URL寫死了。
比如,如果是localhost/crm訪問,然後安裝,url就是/crm/index.php,即專案名稱crm開頭。
如果是crm.demo.jiutianniao.com訪問,然後安裝,url就是/index.php,字首不帶crm。


為什麼會出現這個問題呢?
每次安裝一個php系統的時候,先使用localhost訪問,比較方便,如果系統質量比較高,
再配置虛擬主機,本地測試通過,再放到線上demo環境。


看了很多別人的系統之後,對於部分軟體產品,發現技術實現起來不難,難的是產品規劃,長時間的堅持,
當然需要大把資金了,在盈利之前。

相關文章