當tp5項目上傳到服務器之后遇見的各種bug(不定期更新)


1.很明顯的數據庫問題,更改database文件的ip 用戶名和密碼之后解決;

2.failed to open stream: Permission denied   文件沒有權限  在目錄文件夾 chmod 777 * 解決(樓主比較懶,不想挨個找);

3.Call to undefined function imagecreate()   沒有安裝GD庫導致的 輸入命令"yum -y install php-gd" 然后重啟即可;

4. 

這個問題是由於我在引用公共模板文件的時候使用了{extend name="Public:besic" /} 這個方法,但是好像上線之后不支持 ,百度了半天,有說大小寫的,有說路由的,完全無解,后來想到也許是公共引用有問題,因為它報錯的時候,一般后面都有路徑,哪個模板文件不存在,結果他現在后面空的,刪除這個,果然就正常了,然后換成{extend name="public/besic" /} ,解決問題.

5.

 

 

翻譯過來,prize這個字段沒有默認值. 這是在我點擊注冊,如果手機號沒注冊過就成功注冊的頁面,加載了半天出現這個問題,數據也沒有加進數據庫,后來百度說去掉my.cnf里面的嚴格模式,照做重啟無效,既然這樣不信,索性自己在添加的時候prize字段給空吧.成功解決.

6.Call to undefined function mb_substr();  沒有這個方法,這個方法是用來截取中文字符串的,讓他不亂碼  

linux下的解決方式是:

首先安裝 php-mbstring庫文件:

yum install php-mbstring

之后,修改/etc/php.ini文件,在里面加一句

extension=mbstring.so

保存后重啟httpd服務。

這是百度的,來源:http://mtoy1.blog.163.com/blog/static/3168880201299113555494/

7.接下來,排除萬難終於做好了:然后會發現:在電腦上測試手機端沒bug,overflow:hidden有效,手機上就沒效果了.然后整個頁面就能向下滑動;經過百度已經各種嘗試,最后在頁面加上

html,body{overflow: hidden;height: 100%;}
html{position: fixed;width: 100%}
完美解決;

 8.傳到服務器了,解決完了各種頁面bug之后,最后一個bug蛋疼了很久,就是當我點擊過快之后,還是會有bug,跟我說sql語句錯了,找了半天,懷疑是touchstar相應過快,於是換成了click,照舊無解,后來發現是自己疏忽,由於設置了setTimeout 在另外一個頁面出來之前,已經結束了的游戲居然還可以點擊,於是在設置了$(document).off('click')之后就好了.

 9.導出excel表出現錯誤:iconv()函數引用導致系統識別不了編碼,導致報錯,改成$strexport = mb_convert_encoding($strexport,'euc-jp','ASCII,JIS,EUC-JP,SJIS,UTF-8'); 導出亂碼,后來還是翻手冊,看見////TRANSLIT;如果你在 out_charset 后添加了字符串 //TRANSLIT,將啟用轉寫(transliteration)功能。這個意思是,當一個字符不能被目標字符集所表示時,它可以通過一個或多個形似的字符來近似表達。 如果你添加了字符串 //IGNORE,不能以目標字符集表達的字符將被默默丟棄。 否則,會導致一個 E_NOTICE並返回 FALSE

 

10.項目開始用PHPexcel ,本地使用完美,可是放到線上之后就出現了“無法訪問網址”,試過各種方法均不好使,后來參照他們用tp3.2(我用的5.0)的方法,在輸出excel的方法后面+了個exit,然后改成excel5,然后就可以了,暫時不知道什么問題....

 

11.微信分享的時候,我把被分享的用戶的openid參數拼到url上面,結果其他用戶點進去的第一次沒有openid參數,后來的就都有了,測試之后發現是因為繼承的類里面都會檢測code是否存在,不存在的話就走微信接口回調,回調的時候重定向,參數就沒了,第二次因為code已經有了,所以不用重定向,也就進去了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM