浏览模式: 标准 | 列表 技术归总

windows服务器PHP打开SSL(OpenSSL)扩展支持

这几天将工作室运维的网站迁移回到了伟大的天朝的独立服务器上!不过服务器配置起来后却不支持openssl功能,这就难办了,发信模块里填写的是gmail信箱,发不出信件了。

联系服务器管理员解决该问题,操作过程如下:

  • 将php安装目录下的这3个文件复制到%system%/system32目录下:php_openssl.dll、libeay32.dll、ssleay32.dll  
  • 打开php.ini,将“;extension=php_openssl.dll”前面分号去掉。
  • 重启IIS

javascript获取asp传递过来的变量

首先是提交变量位置加入一个隐藏变量(asp变量为:page_id):

<input type="hidden" name="page_no" id=pn value="<%=int(page_no)%>">

再去接受文件处加入一个变量接受:

pn=request.form("page_no")

最后处理该变量(返回到page_no所在的页面):

Response.write "<script language = 'javascript'>alert('成功修改了此新闻!');window.document.location.href='gscp.asp?page_no="&pn&"';</script>"

还有一种就是直接由url传递过来了,比如删除某条信息:

<a href="gscp.asp?cp_id=<%=rs("cp_id")%>&page_no=<%=int(page_no)%>&action=delp#delp">删除</a>

那么我们接收该变量,并添加到javascript语句中,如下:

pn=request.QueryString("page_no")

Response.write "<script language = 'javascript'>alert('成功删除了此新闻!');window.document.location.href='gscp.asp?page_no="&pn&"';</script>"

搞定,收工!

解决ACPI: Reclaim Memory not found

某笔记本安装了vista ultimate sp1系统,采用主板模拟BIOS的OEM版无法激活,遂采用Vista Loader激活,却导致开机时出现:ACPI: Reclaim Memory not found

解决方法如下:

用WIN PE进入系统后,进入安装vista的分区,删除grldr文件,重启后即可进入vista系统,如果无法进入,下载“Vista Loader (突破Vista 激活限制)绿色版 V2.1.2”,在PE环境中解压运行其中的uninstall.cmd即可。

重启后如果能够进入系统但是提示依然需要激活,则运行install.cmd重启即可。

不明之处,见软件中的readme.txt文件

下载:vista loader (突破vista 激活限制)绿色版 v2.1.2.rar

Discuz!论坛支持Gmail发送邮件

一直都用gmail作为我的工作交流的邮箱,而Discuz!论坛是可以通过Gmail发送邮件的,Gmail的稳定性和易用性是有口皆碑的,比起国内的其他免费STMP服务商更加可靠。而且因为属于国际品牌,几乎支持发送到所有的邮箱,值得信赖。

下面一步一步告诉你如何实现用Discuz!论坛支持Gmail发信。

第一步:注册Gmail邮箱

移步www.gmail.com申请一个邮箱(已经有的可以跳过)

第二步:检测空间是否支持OpenSSL

将如下代码保持为phpinfo.php上传到论坛主机上并访问

  1. <?php  
  2. phpinfo();  
  3. ?> 

ctrl+f查找网页上openssl,如下图则表示主机支持OpenSSL

091012_discuz_ssl.jpg

大小: 9.67 K
尺寸: 300 x 44
浏览: 191 次
点击打开新窗口浏览全图

第三步:

用管理员账户进入论坛后台,如下图配置选项

091012_discuz_gmail.jpg

大小: 43.77 K
尺寸: 205 x 300
浏览: 462 次
点击打开新窗口浏览全图

需要注意的3点:

  1. 网上流传的一个方法中写着需要修改include/sendmail.inc.php,其实没必要的。再者修改之后导致以后换了别的非ssl邮箱,又要修改,麻烦了!
  2. 如果仅仅只是为了给会员发发邮件,而你并不需要用客户端去接收gmail的邮件,那么P0P的功能也是不用打开的。发送邮件功能是STMP来完成的
  3. 如果说你发现自己发送不了邮件,请尝试登陆www.gmail.com,可能你的账号因为异常问题被google给停用了。你需要输入手机号码,收到验证码后填写进去,完成验证即可使用了。不会产生什么费用。

本测试在discuz!7.0.0下测试无错,发送到gmail以及QQ邮箱正常,而且一般10秒钟内就会收到了!当然,discuz的其他产品,包括ucenter以及uchome等,发送邮件模块都可以用这个配置。

解决:no acceptable C compiler found in $PA...

今天给服务器安装pure-ftpd-1.0.22,configure的时候就遇到了这个问题:

no acceptable C compiler found in $PATH

因为是centos linux,默认可以采用yum方式安装,则采用如下命令安装gcc编译器即可:

# yum -y install gcc

安装更新了如下几个组件:

gcc 4.1.2-44.el5

binutils 2.17.50.0.6-9.el5

cpp 4.1.2-44.el5

glibc-devel 2.5-34.el5_3.1

glibc-headers 2.5-34.el5_3.1

kernel-headers 2.6.18-164.el5

libgomp 4.3.2-7.el5

用PS去掉图片上的文字的6个基本技巧

非常好的6个技巧,屡试不爽!不过每次从电脑里找实在麻烦,就放在博客上好了。非常感谢总结了这个技巧的朋友!

注意:6个技巧配的图都是动画效果,请点击图片后查看动画效果!


1、使用仿制图章工具去除文字。 

这是比较常用的方法。具体的操作是,选取仿制图章工具,按住
Alt键,在无文字区域点击相似的色彩或图案采样, 然后在文字
区域拖动鼠标复制以复盖文字。 要注意的是,采样点即为复制的
起始点。选择不同的笔刷直径会影响绘制的范围,而不同的笔刷
硬度会影响绘制区域的边缘融合效果。
1.jpg

大小: 98.48 K
尺寸: 241 x 300
浏览: 117 次
点击打开新窗口浏览全图
2、使用修补工具去除文字。 
 
如果图片的背景色彩或图案比较一致,使用修补工具就比较方便。具
体的操作是,选取修补工具,在公共栏中选择修补项为“源”,关闭
“透明”选项。然后用修补工具框选文字,拖动到无文字区域中色彩
或图案相似的位置,松开鼠标就完成复制。修补工具具有自动匹配颜
色的功能,复制出的效果与周围的色彩较为融合,这是仿制图章工具
所不具备的。
2.gif

大小: 113.3 K
尺寸: 241 x 300
浏览: 51 次
点击打开新窗口浏览全图
3、使用修复画笔工具去除文字。 
 
操作的方法与仿制图章工具相似。按住Alt键,在无文字区域点击相
似的色彩或图案采样,然后在文字区域拖动鼠标复制以复盖文字。只
是修复画笔工具与修补工具一样,也具有自动匹配颜色的功能,可根
据需要进行选用。
3.jpg

大小: 109.35 K
尺寸: 241 x 300
浏览: 70 次
点击打开新窗口浏览全图
4、某些情况下,框选无文字区域的相似图形(或图案),按Ctrl+j
键将其复制成新的图层,再利用变形工具将其变形,直接用以复盖
文字会更为快捷。
4.jpg

大小: 139.31 K
尺寸: 239 x 300
浏览: 88 次
点击打开新窗口浏览全图
5、对于一些透视效果较强的画面(如地板),可以应用“消失点”滤
镜进行处理。图例中的操作的方法是,框选要处理的文字区域,(防
止选区以外的部分也被覆盖)执行菜单命 令:滤镜→消失点,进入
消失点滤镜编辑界面。 
 
然后: 
⑴ 选取左边工具栏中的创建面板工具,由地板砖缝交汇处开始,沿着
缝隙,依次点四个点,连成一个有透视效果的矩形。然后拖动其边线
向右方及下方扩展,令面板完全复盖文字。 
 
⑵ 选取左边工具栏中的图章工具, 按住Alt键点击选取源图像点,绿色
十字变红后,在文字区域拖动便完成复制。
5.jpg

大小: 153.74 K
尺寸: 241 x 300
浏览: 98 次
点击打开新窗口浏览全图
6、某些背景色为垂直线性渐变颜色的图标,有一个方便的方法去除文字。 
方法是,用矩形选框工具在无文字区域中作一个选区,选区不宜太宽,高
度应高于文字。然后按住Ctrl+Alt键,连续按方向键(→或←),直至完
全复盖文字则可。 
6.gif

大小: 207.03 K
尺寸: 241 x 300
浏览: 86 次
点击打开新窗口浏览全图

基于nginx对discuz做301永久重定向的方法

工作室运维的区域性网站要做重大改版,向着门户型改变:

discuz 6.1升级7.0,ucenter 1.0升级1.5,uchome 1.5升级2.0,并将增加ecshop商城以及点评系统,论坛、空间、商城、点评四个系统采用uc统一管理,这样的话可以让产品更好地整合在一起。当 然,卸载任何一个系统也不会影响另外系统的正常运行。

废话说完,进入正题

原网站真正意义上起到作用的就是一个bbs,而该bbs的网址类似www.abc.com/bbs

考虑到升级后将bbs作为主体来运维(表现形式类似19楼,跳出论坛的范围,走社区化道路),我建议采用根目录直接放置论坛系统,而其他几个系统放置在域名的二级目录,如下:

home.abc.com shop.abc.com dp.abc.com

一级目录相比较二级目录权重高,一级域名自然也比二级域名权重高。考虑到整体以discuz论坛作为重点,自然主次分明。而且划分出二级域名,也方便以后网站的分离和管理。

因为论坛入口从原先的www.abc.com/bbs变成了www.abc.com,如果直接这样搬迁,那么之前做的seo必然会丢失(google跟baidu找过来都是死链),可能导致seo的禁忌:大片网页删除甚至域名被K了。

那么我只要将之前在bbs目录下的规则以301永久重定向到根目录下就可以了,这样搜索引擎也不会“感冒”。

  1. #之前的目录跳转到现在的根目录 301 永久重定向 permanent; 
  2. rewrite ^/bbs/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 permanent; 
  3. rewrite ^/bbs/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 permanent; 
  4. rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 permanent; 
  5. rewrite ^/bbs/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 permanent; 
  6. rewrite ^/bbs/tag-(.+)\.html$ /tag.php?name=$1 permanent; 
  7. #如果bbs下文件或目录不存在则重定向到index.php 
  8. #if (!-e $request_filename) { rewrite ^/bbs/(.*) /index.html?$1&; } 

检测下是否重定向成功了

301重定向后在线检测工具[HTTP头状态检测]:

http://www.seoconsultants.com/tools/headers.asp

如果某个网址是永久重定向301效果,则必然显示:HTTP/1.1 301 Moved Permanently

» 阅读全文

忘记UCenter创始人密码怎么办

通宵做论坛的升级搬迁工作,安安静静地做着自己的事情。遇到了一个小问题:之前的管理者没告诉我UCenter创始人的密码,咋办?

实验成功的方法如下:

  1. <?php 
  2. $ucfounderpw = '密码';//将引号里修改为你想修改的创始人密码! 
  3. $ucsalt = rand(100000,999999); 
  4. $ucfounderpw = md5(md5($ucfounderpw).$ucsalt); 
  5. echo 'ucfounderpw:'.$ucfounderpw.'<br />'.'ucsalt:'.$ucsalt
  6. ?>
  7.  
  8. 先复制以上内容,保存为reset.php,上传到支持php空间并访问。
  9. 页面会出现两行数据,类似:
  10. ucfounderpw:34790c7832f559e4a1787f9fdfa591bb
    ucsalt:941698
  11. 到ucenter打开/data/config.inc.php 找到下面内容并按提示操作: 
  12. define('UC_FOUNDERPW''显示出来的第一行加密字符串写到这里'); 
  13. define('UC_FOUNDERSALT''显示出来的第二行数字写到这里'); 

其他方法1(用某个reset.php)、2(采用tools工具箱)

http://www.discuz.net/thread-908564-1-1.html (经过实验,未成功)

还有一种所谓的方法就是拿之前的ucenter之前的升级文件(ucenter安装包里带了)放到网站里运行一次即可(这个方法未经测试


修改某个用户的ucenter的密码,比如uid=1的:

UPDATE `uc_members` SET `password` = 'ad2aa682b173259fefc5e151baa6de82' WHERE `uid` =1 LIMIT 1 ;