發佈日期:
分類:
如何解決Codeigniter中的SESSION,在網頁轉址(redirect)後用不到問題
01. 為了使用64 Bits的Apache、PHP、MySQL,今天試一下放棄用了多年的XAMPP,改由一個個獨立的安裝。
02. 但問題來了,Codeigniter中的SESSION居然在網頁轉址(redirect)後用不到。
03. 程式碼與之前是一模一樣,先假設沒有問題。
04. 檢查了PHP.INI的設定,其中一項為『session.auto_start』,預設為0,將它改回數值1便解決問題。
05. 最後,當然是要重新啟動Apache服務。
06. 網頁轉址(redirect)後的SESSION問題是解決了,但其他同伺服器有用到SESSION的程式碼卻又出現SESSION的警告。
07. 是不是64 Bits的Apache、PHP、MySQL,轉回XAMPP,問題也是一樣,PHP中的SESSION居然在網頁轉址(redirect)後用不到。
08. 反覆測試,原來不是其他問題,是Codeigniter的問題,把Codeigniter的版本更新到3.1.4,便解決了問題。
09. 轉回64 Bits的Apache、PHP、MySQL,為甚麼又出現另一個404 PAGE NOT FOUND問題呢!
10. 總結是:
Codeigniter config.php設定是: $config['base_url'] = <codeigniter website directory>; $config['index_page'] = ''; $config['uri_protocol'] = "REQUEST_URI";
.htaccess設定是: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] </IfModule>
Apache http.conf設定是: <Directory "codeigniter website directory"> AllowOverride All </Directory>
發佈留言