WeiPHP4 0使用除錯心得

2021-08-15 16:17:20 字數 2731 閱讀 7431

安裝部分比較簡單,將原始碼解壓之後,搭建web伺服器,執行 http://你的**/index.php。按照提示一步步完成,安裝過程中會檢測php版本,官網說明php版本號需要在5.5以上。

其中最後一步是建立資料庫和建立管理員賬號

如圖所示,資料庫部分填寫資料庫的root賬號以及密碼。創始人資訊可以隨便填,但是這個賬號是管理系統管理人的賬號密碼,請務必記住。

這一步中資料庫賬號資訊如果填寫準確一般是不會有問題的。資料庫安裝完成之後則安裝結束,下一步就可以訪問首頁了。

如上圖所示

按照weiphp官方的教程所述,公號建立成功之後需要先檢測介面。

我的檢測結果如下:

這兩個檢測失敗項比較令人尷尬,原因待查。

檢視wiki的錯誤資訊(有如下描述:

完成以上修改後,介面測試全部成功。ps:雖然這裡都測試成功了,但是手機端還是會顯示js授權錯誤,猜測是由於個人訂閱號許可權的原因造成的。

後面兩項檢測一直卡住,檢測不過去,此時手機端提示「js授權出錯,請檢查網域名稱授權設定和引數是否正確」,點確定後又提示「redirect_uri網域名稱與後台配置不一致,錯誤碼:10003」,這兩個問題待查。

後面,我做了如下設定之後,所有的測試項通過:

以上第1條修正js授權出錯,第2、3條修正redirect_uri錯誤的問題

上文已經提及,在除錯的過程中,因為原始id一項填寫錯誤,導致出現404錯誤。這個是乙個重點。

自定義選單只有在測試號中才能測試其功能,個人訂閱號是無介面許可權的。

我在除錯時設定的自定義選單如下:

目前有以下幾個問題沒解決:

2、傳送事件->素材 這裡無法獲取到,沒有任何提示資訊。

這個問題在除錯時,通過檢視 runtime\logs\home\***xx_sql.log發現有如下列印:

返回錯誤碼40007,無效id

追根溯源,從新增素材開始重新操作一遍,在我新增素材時,從日誌中看出有如下列印

上網查了一下這個錯誤,有些大神說是通過該curl的配置解決了,具體的參考鏈結為 

//	modify by kapoo for add_material fail(wechat error code: 41005)

// 這段**原本是注釋起來的,但是注釋起來之後新增素材會出錯,上網查到一些php大神說是這個配置的問題

// 我用的php版本是5.6.30, curlopt_safe_upload 需要設定為false

if (class_exists ( '/curlfile' )) else

}// add end

至於具體的curl的使用差異,可以參考如下鏈結 後面再研究。

除此之外,日誌中還有如下錯誤

the usage of the @filename api for file uploading is deprecated. please use the curlfile class instead
就是說php5.6以上已經捨棄了@filename的方式來儲存檔名,需要修改

if (true)	// this branch is added by kapoo

else

}else // this branch is origin code in weiphp4.0

**中還有其他地方也需要改為類似的寫法,這裡暫沒做修改。

到此,新增素材功能已經調通了,但是返回訊息依然返回錯誤碼 40007,繼續調。跟蹤**之後發現很有可能是cache造成的。後面再未修改**的情況下,功能居然通了。

至此,自定義選單的相關功能都已經調通。

使用OutputDebugString除錯視窗程式

學程式設計是從dos下開始的,用了一定時間的tc2.0,使得養成了用printf輸出變數值進行除錯的壞習慣。到了寫視窗程式時,就遇到了些麻煩。視窗程式沒有方便的進行控制台輸出的方法 其實是我不知道 於是,用了幾年的用messagebox進行輸出的除錯手段,太麻煩了,因為messagebox會打斷程式...

Solr4 0效能調優之快取配置

size medium solr配置檔案 solrconfig.xml 有三種快取分別是 filtercache,queryresultcache,documentcache但solr是在什麼時候,什麼情況下會用到這些快取呢,通過看solr的原始碼,下面對solr三種快取做說明 list 1 fil...

opengl4 0使用小結

opengl vao vbo fbo 著色器感覺 首先需要兩個庫的支援,視窗庫和opengl顯示卡介面庫,可能表達的不太準確,反正就是那個意思。使用到了glad庫,封裝了不同的硬體顯示卡驅動opengl介面,直接呼叫就可以,glew也可以實現glad的功能。還需要乙個視窗庫,可以使用glfw,或者f...