thinkphp在ubuntu下驗證碼無法載入或者驗證碼錯誤問題的解決

來源:互聯網
上載者:User

標籤:UI   php5   init.d   sharp   find   path   ace   blank   應該   

最近LZ在做一個thinkphp的項目,用的是WAMP開發的。把代碼移植到ubuntu下,就出問題了,驗證碼無法顯示。之前也碰到過這樣的問題,無非是GD庫沒有載入,或者是session寫入許可權問題。 
先說下這兩個問題的解決辦法:

① GD庫沒有載入

安裝gd庫

apt-get install php5-gd

搜到gd.so在/usr/lib/php5/20090626+lfs/目錄下 ,需要修改php.ini,php.ini在/etc/php5/apach2目錄下。 
於是修改php.ini:

extension_dir="/usr/lib/php5/20060613+lfs/" 

再添加一行

 extension=gd.so 

 

重啟 apach2:

/etc/init.d/apach2 restart

② session寫入許可權問題

<?php  $sessionpath = session_save_path();  //擷取當前session的儲存路徑    echo $sessionpath;?>

 

修改許可權為777.

補充:還有童鞋說是bom問題 再此我也說下,可能好多童鞋可能不知道BOM 是什麼,在此我也說明下。 
BOM: 
為了識別 Unicode 檔案,Microsoft 建議所有的 Unicode 檔案應該以 ZERO WIDTH NOBREAK SPACE(U+FEFF)字元開頭。這作為一個“特徵符”或“位元組順序標記(byte-order mark,BOM)”來識別檔案中使用的編碼和位元組順序。 
Linux/UNIX 並沒有使用 BOM,因為它會破壞現有的 ASCII 檔案的文法約定。 (– 這就是導致這次頁面出現空白行的原因) 
dom不是好東西就是一個資料簽名,一串字串而已,經常導致頁面出現空白行,特別是PHP進行檔案引入require_once和include的時候。

③ Linux下尋找包含BOM頭的檔案和清除BOM頭命令

尋找包含BOM頭的檔案,命令如下: 
點擊(此處)摺疊或開啟

grep -r -I -l $‘^\xEF\xBB\xBF‘ ./

\xef\xbb\xbf是UTF8 BOM的16進位表示 
這個命令會把目前的目錄及所有子目錄下的BOM頭刪除掉。 
點擊(此處)摺疊或開啟

find . -type f -exec sed -i ‘s/\xEF\xBB\xBF//‘ {} \;

另一種方法: 
點擊(此處)摺疊或開啟

echo -ne ‘\xef\xbb\xbf123456‘ | awk ‘{if(NR==1)sub(/^\xef\xbb\xbf/,""); print}‘

BOM的詳細解釋 
http://www.cnblogs.com/chengmo/archive/2010/10/30/1864004.html

本文轉載自http://blog.csdn.net/kunpeng1987/article/details/72876347

thinkphp在ubuntu下驗證碼無法載入或者驗證碼錯誤問題的解決

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.