1.
http://www.codeigniter.org.tw/ 下載最新CI
2.
https://github.com/Vheissu/Ci-Smarty 下載最新ci-smarty ,直接解壓縮到CI application目錄下
3.
http://www.codeigniter.org.tw/user_guide/general/urls.html 設定ci url-rewrite (把index.php 拿掉),
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt|$)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
(
index.php、images、robots.txt 的全部 HTTP request 都會被當成是 request index.php 檔案。 )
如果目錄是
http://localhost/justin/amp/index.php/smartytest RewriteBase 要設定 /justin/amp/
4.
http://rental.zhupiter.com/postshow_178_1_1.html 打開本機 apache - url-rewrite ( 我電腦是 win 7 - appserv )
4-1
先確定自己的 Apache web server 有設定成支援 ReWrite。
動態載入 ReWrite engine 的設定下會在 httpd.conf 中看到這一行『LoadModule rewrite_module modules/mod_rewrite.so』。4-2
在 DocumentRoot 所屬的 Directory 設定內設定 ReWrite 參數。
RewriteEngine On
4-3 因為我設定 virualhost 所以也要到 D:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf 修改設定
<VirtualHost *:80>
DocumentRoot "D:\AppServ\www"
ServerName localhost
<Directory "D:\AppServ\www">
Options FollowSymLinks Indexes
AllowOverride All
Order allow,deny
Allow from all
RewriteEngine On
</Directory>
</VirtualHost>
4-4 設定完 apache 後 去 win 7的 "服務" 重新啟動apache.
4-5 如果主機不支援url-rewrite或url-rewrite有問題且無法設定apache , 啟動CI的Query Strings
http://www.codeigniter.org.tw/user_guide/general/urls.html
CodeIgniter 也有提供這個功能,可以到
application/config.php 檔案中開啟底下的設定:
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
只要把 "enable_query_strings" 設定為
TRUE,這個功能就會啟動。
index.php?c=controller&m=method
設定encryption_key以啟動session功能
$config['encryption_key'] = 'xxx';
5. 在application\libraries\Smarty.php 中設定左分隔符和右分隔符
$this->left_delimiter = '{{';
$this->right_delimiter = '}}';
6. 在 application\config\smarty.php 調整smarty cache
$config['cache_status'] = TRUE;
設為FALSE 讓開發時不使用cache
7. application\config\autoload.php 設定
$autoload['helper'] = array('url');
讓前端能直接使用 {{base_url()}} 抓網站網址
$autoload['libraries'] = array('parser','database','session');
自動載入smarty、db、session 功能
8. 在linux主機上要把cache資料夾改權限
ex. $ chmod 777 -R cache
出現錯誤
Only variable references should be returned by reference:
A PHP Error was encountered
Severity: Notice
Message:
Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
https://ellislab.com/forums/viewthread/244510/
解法:
將
return $_config[0] =& $config;
改成
$_config[0] =& $config;
return $_config[0];