本文目录一览:
如何将phpwind8.7程序网站升级9.0方法
一、phpwind环境要求
php版本 5.2.x 建议5.3
pdo_mysql 安装扩展
mysql版本(client) 5.x.x
附件上传 2M
二、升级前的准备
1、进行数据库备份
备份数据库的方式有多种,无忧主机小编只介绍三种
第一种是直接在空间的后台phpmyadmin进行备份,登陆您的phpmyadmin把您网站的数据库导入到本地,保存。
第二种是使用帝国备份王工具把您的数据库备份到空间中,详细备份教程请参考:Mysql数据库管理利器:帝国备份王安装使用图文安装
第三种是使用phpwind自带的备份工具进行备份。登陆您php虚拟主机网站的后台依次点击数据—数据库—数据维护
phpwind后台
2、关闭您的网站,防止网站迁移过程中有新的数据进来,以免丢失数据。登陆您网站后台站点—站点设置—站点状态—完全关闭。
3、把您网站备份的数据通过ft工具的方式下载到您的本地。
三、程序上传和目录的处理
注:附件和头像目前只支持本地和FTP远程附件,如果之前使用了云存储,请先将头像下载到本地,升级后再上传。无忧主机用户可以通过压缩包的方式上传这些文件,这样可以节省许多不必要的上传时间
1、 将phpwind9.0安装包上传到php虚拟主机中并解压,将upload目录下的文件上传至安装目录。注意,不能直接覆盖原来8.7的环境。虚拟主机,建议先将原8.7环境除attachment目录外,移动到backup下,这样即时出现问题后可以通过移动目录恢复8.7的环境。
2、 文件转移:
a、头像图片转移:将原8.7环境下的attachment/upload文件夹,复制到9.0环境的attachment下。(如果之前使用远程附件,头像需要单独升级,见后面说明)
b、表情图片转移:将原8.7目录下images/post/smile/下的所有目录拷贝到网站根目录的res/images/emotion/下。
C、勋章图片转移:将原8.7目录下images/medal/下的所有目录拷贝到网站根目录的res/images/medal/下(如果下载的nextwind包是含有www目录的,则将attachment包括在内的以上目录移到www目录下,比如res/images/emotion/ 则为www/res/images/emotion/)。
举例说明:
文件类型
8.7环境目录
9.0环境目录
头像
attachment/upload
attachment/upload
表情
images/post/smile/
res/images/emotion/
勋章
images/medal/
res/images/medal/
3、登陆phpwind官方下载8.7升级到9.0的升级包up87to90.php文件。
4、 确定以下目录的可写权限:
attachment/
conf/database.php
conf/founder.php
conf/windidconfig.php
data/
data/cache/
data/compile/
data/design/
data/log/
data/tmp/
html/
src/extensions/
themes/
themes/extres/
themes/forum/
themes/portal/
themes/site/
themes/space/
四、开始升级
1、执行您刚刚上传到php虚拟主机的升级程序地址是51php.com(注:域名)/up87to90.php
2、填写完整的数据库信息及创始人信息。
3、然后递交执行基本信息转换
4、主数据的升级,商家方式有两种
一种选择步骤升级,步骤如下:
a、用户基本数据转换(pw_members表)
b、用户基本数据转换(pw_memberdata表)
c、其它用户数据转换,用户信息表数据同步(pw_user_info)和用户数据表数据同步(pw_user_data)
d、用户教育/工作经历/标签数据转换
e、板块数据转换
另外一种是一键自动升级,您只需要一键升级就可以了,无忧主机小编推荐您使用这种升级方式
5、 关于头像的转换:
如果之前头像是本地存储,则可以直接进行一键自动升级。如果是远程附件存储,请先在分进程手动升级中,执行用户头像转移。
6、升级完成后会自动进入站点的首页
五、升级完成后的确认操作。
1、删除升级程序的文件up87to90.php。
2、将老程序环境attachment文件保存到附近迁移环境的attachment下
3、登陆您php虚拟主机网站的后台选择 工具—缓存管理 更新站点的缓存
4、把站点各个功能都测试一遍,发布一个测试文章等等,确认网站没有任何问题
php一个在线升级的功能,新的文件不能覆盖原来的文件呢,有没有会的?
我建议你的升级脚本按照这种思路做:
1. 先把重要的文件移动到别的目录(比如配置文件等,这些升级后肯定还需要恢复。 然后把不重要的删除掉,你可以用php自带的函数,或者直接用php system 或 exec 调用系统命令完成)
2. 把升级包解压缩/复制到项目目录,然后恢复之前配置的重要配置文件
3.system 和 exex 函数都有返回值,你判断返回值成功后,返回客户端成功即可。
需要注意:脚本运行时间超时,php执行系统命令是否有权限。
上面的这些代码,如果是在linux下,可以写一个shell脚本,然后php调用即可。
php如何用update更新多条数据
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
array(
0=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
1=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
)
注意在原来的基础上加了更新条件id,不加的话是会更新全部的。
A页面代码:
?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
$i=0;
while($pt=mysql_fetch_array($result)){
?
tr onmouseover="this.className='admTr'" onmouseout="this.className=''"
td width="17%" align="right"标题?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"//td
tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td
td width="17%" align="right"链接?php echo $pt['id']; ?:/td
tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td
/tr
?php
$i++;
};
?
B页面代码:
?php
include 'conn.php';
$focusimg=$_POST['focusimg'];
foreach($focusimg as $k=$v) {
$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";
mysql_query($exec, $link);
}
mysql_close($link);
echo "edit OK!";
?