很久没更新了,今天顺手改了些配置,贴上来以便以后查看。
首先是CodeIgniter,前段时间滚着滚着就把PHP升级到了5.6,然后今天无意中查看用CI写的程序出现Only variable references should be returned by reference
,顺带解决了下:
文件名: core/Common.php
,行号大约在257,修改前:
return $_config[0] =& $config;
修改后:
$_config[0] =& $config;
return $_config[0];
后来想起来我的程序用到CI框架貌似是老版本,就顺手把新版的system目录覆盖过去结果报错Unable to load the requested file,之后才想起我改过views目录,修改文件:core/Loader.php
,行号约130,修改前:
$this->_ci_view_paths = array(APPPATH.'views/' => TRUE);
修改后:
$this->_ci_view_paths = array(FCPATH.'themes/' => TRUE);
再后来,我用CI和其他框架写过几个程序,由于通用一个框架文件,为了方便,我把另外几个程序的框架目录做了软连接,这样便于升级管理,简单的示意图如下:
/srv/http/
|-projects
|—php
|-----lime
|-------app
|---------core
|-----limewiki
|-------app
|---------core -> /srv/http/projects/php/lime/app/core/
|-----ssc
|-------app
|---------core -> /srv/http/projects/php/lime/app/core/
最后是一个比较麻烦的问题了,简单介绍下先,以前为了快速配置nginx,所以写的程序都放在web子目录下,这样nginx配置起来非常方便,参考:https://www.bstaint.net/2013/04/codeigniternginx.html
但是如果程序渐渐多起来之后,发现web子目录就比较乱了,所以我准备规划下目录,也就是如上面的结构那样,虽然项目程序都不在子目录但是通过类似虚拟目录直接访问http://localhost/lime/即可访问该目录下的程序,经过尝试成功搞定:
location /lime {
root /srv/http/projects/php/;
try_files $uri $uri/ /lime/index.php?$query_string;
location ~ \.php$ {
if ($fastcgi_script_name ~ /lime/(.+\.php.*)$) {
set $valid_fastcgi_script_name $1;
}
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/lime/$valid_fastcgi_script_name;
include fastcgi_params;
}
}
如果使用请把代码中的lime替换成自己的目录名,其中由于框架的路由问题,所以不能使用alias。
参考资料:
http://blog.sina.com.cn/s/blog_570d9344010160f3.html
https://ellislab.com/forums/viewthread/244510
http://hi.baidu.com/sn2007/item/9993d2515e72913595eb05f0
没有评论:
发表评论