phpcms v9+discuz+ucenter更换域名或者ip的方法

在网站开发过程中,涉及到需要修改ip或者域名时需要进行如下操作:

一、修改phpcms的配置

  1. 修改/caches/configs/database.php 
  2. 修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名。 
  3. 进入后台设置–>站点管理,对相应的站点的域名修改为新域名。 
  4. 点击后台右上角的”更新缓存”按钮更新系统缓存。
  5. 进入内容–>附件管理–>附件地址替换。把附件地址批量的替换为新的地址。 
  6. 内容–>批量更新URL 。把所有的文章的地址都更新一下。 
  7. 内容–>管理栏目–>更新栏目缓存。将栏目的链接地址改为新地址。

二、修改phpcms中phpsso中的配置

  1. 修改/phpsso_server/caches/configs/database.php
  2. 修改/phpsso_server/caches/configs/system.php 
  3. 修改后台phpsso应用管理中的地址
  4. 修改后台phpsso->系统设置unceter设置中的相关信息

三、修改discuz中的配置

  1. 修改/config/config_global.php
  2. 修改/config/config_ucenter.php

三、修改discuz中ucenter的配置

  1. 修改/uc_server/data/config.inc.php
  2. 修改应用管理中的相关信息

phpcms后台分页时进行多表查询

在对phpcms进行二次开发的过程中,后台的列表都是用的是$this->db->listinfo()方法进行查询的,跟踪代码后发现$this->db中没有提供只用使用sql查询然后分页的方法,于是在model.class.php中扩展一个类似的方法,步骤:

1、打开model.class.php文件,添加如下代码,保存

[php]</p>
<p>/**<br />
* 查询多表数据并分页<br />
* @param $data 要查询的字段<br />
* @param $sql sql语句<br />
* @param $order 排序<br />
* @param $page<br />
* @param $pagesize<br />
* @return unknown_type<br />
*/<br />
final public function mylistinfo($data = ”,$sql=”,$order=”, $page = 1, $pagesize = 20, $setpages = 10,$urlrule = ”,$array = array()) {<br />
$this-&gt;number = $this-&gt;db-&gt;count_sql($sql);<br />
$page = max(intval($page), 1);<br />
$offset = $pagesize*($page-1);<br />
$this-&gt;pages = pages($this-&gt;number, $page, $pagesize, $urlrule, $array, $setpages);<br />
$array = array();<br />
if ($this-&gt;number &gt; 0) {<br />
return $this-&gt;db-&gt;select_sql($data, $sql, $order, &quot;$offset, $pagesize&quot;);<br />
} else {<br />
return array();<br />
}<br />
}</p>
<p>[/php]

2、打开mysql.class.php文件,添加如下代码,保存

[php]</p>
<p>/**<br />
* 数据库查询执行方法<br />
* @param $sql 要执行的sql语句<br />
* @return 返回查询的统计条数<br />
*/<br />
public function count_sql($sql) {<br />
if(!is_resource($this-&gt;link)) {<br />
$this-&gt;connect();<br />
}</p>
<p> return mysql_result(mysql_query(‘select count(*) from ‘.$sql),0);<br />
}<br />
/**<br />
* 执行sql语句<br />
* @param $data 需要查询的字段值[例`name`,`gender`,`birthday`]<br />
* @param $sql sql语句[不包括select和from]<br />
* @param $order 排序<br />
* @param $limit 查询限制<br />
* @return array 查询结果集数组<br />
*/<br />
public function select_sql($data,$sql,$order,$limit = ”) {<br />
$limit = $limit == ” ? ” : ‘ LIMIT ‘.$limit;<br />
$sql = ‘select ‘.$data.’ from ‘.$sql.$order.$limit;<br />
$this-&gt;execute($sql);<br />
if(!is_resource($this-&gt;lastqueryid)) {<br />
return $this-&gt;lastqueryid;<br />
}</p>
<p>$datalist = array();<br />
while(($rs = $this-&gt;fetch_next()) != false) {<br />
if($key) {<br />
$datalist[$rs[$key]] = $rs;<br />
} else {<br />
$datalist[] = $rs;<br />
}<br />
}<br />
$this-&gt;free_result();<br />
return $datalist;<br />
}</p>
<p>[/php]

3、修改查询

[php]$this-&gt;db-&gt;mylistinfo(‘要查询的字段’,’ 查询语句从from后面开始’,’排序或扩充’, $page,1,’10’);[/php]