此苹果非彼苹果

为网站设置桌面快捷方式的php代码

网站上线后,加了一个小功能,让用户可以点击一个链接自动在桌面保存一个访问网站的快捷方式图标,但是发现只在遨游极速模式下点击完出来下载窗口,而在IE下却提示找不到文件。测试了IE的所有版本均不行。怀疑是不是代码哪里写错了,后来百度了N多代码出来,发现大家代码都是一个模子copy出来的。这就让人郁闷了,也测试了别人的下载按钮就能点,为什么我这个不能呢?后来怀疑打开的链接是不是页面编码方式被浏览选择错了,又给自动选择成gbk的了?因为已经把页面编码改成utf-8的了。现在终于找问题的原因了,而是这个按钮的文件保存的时候文件编码一定要选用ANSI的二进制方式才行,我之前保存的utf8模式。这样IE就找不到文件了。。看来以后在用PHP写下载功能的时候header出来的attachment页面也一定设置为ANSI模式。否则到时候下载点击完肯定也会找不到文件。下面给出PHP代码,把网址自己改成别的就行了。
继续阅读 »

实例解析Smarty模板引擎中如何调用自定义函数

好久不用smarty这个模板引擎了,今天改一个老系统,当时做的时候还是用的这个,现在要在模板里调用自定义的函数获取数据或者传值给自定义函数,让它自动返回相应格式的模板代码。又遇到了这个Smarty模板引擎中如何调用自定义函数的问题。记得当时做的时候,查了好多资料,才找到怎么在smarty里用自定义函数的,现在写个示例,记录一下。

比如现在要用自定义函数ssi返回一个符合ssi文件调用的代码

首先在smarty引擎初始化的时候注册一下这个自定义函数,如下:

继续阅读 »

Nginx设置图片防盗链,设置无效的请仔细看红字

*******************************************************************
切记,替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片。
*******************************************************************

一、全站图片防盗链

在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的server段里添加下面的代码:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked *.ipple.net *.abc.com;
if ($invalid_referer)
{
rewrite ^/ http://www.otherdomin.com/403.jpg;
#return 403;
}
}

测试一下配置是否OK
# /usr/local/nginx/sbin/nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

继续阅读 »

2011-01-07LA/NMP

Apache下禁止使用IP直接访问本站的配置方法

现在管的严啊,上面要求不能使用IP直接访问服务器,把apache配置做下调整就行了。方法如下:

打开apache的配置文件

# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

在所有虚拟机的最前面加上一个noweb的

继续阅读 »

2011-01-06LA/NMP

rsync: failed to connect to *.*.*.*: No route to host (113)

上次万网的破主机被重启之后,备份服务器与它同步数据的时候出现下面这个错误。

rsync: failed to connect to *.*.*.*: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.7]

故障原因:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。

解决方法:关闭防火墙,或者把防火墙的tcp udp 的873端口打开,允许rsync通过。

防火墙的启动与停止
# service iptables start / stop

相关错误问题:rsync同步数据提示auth failed解决方法

LNMP新服务器配置

最近配置了一台新服务器,正好借这个机会从apache转向nginx,这点转换过程中大大小小的麻烦遇到不少,这次从头到尾总结一下。

一、配置raid5

新机器没拍照,这玩意长的都大同小异,没啥好看的。配的是HP的DL388G7,2U。最大的优点,声音非常小。不像以前的DL380G5那款,一开机跟拖拉机似的嚎叫。昨天去机房看到DELL的有一款1U的长的满漂亮。。。机器是从朋友那里提的货,以前都是让HP的服务人员给做好了raid,这次从朋友那拿,也忘了让他们给做,由于自己没亲手做过,怕出错。现在也没办法了,只好自己整。其实也很简单,有问题问google和百度大神就够了。在看到启动到红色的array出来的时候按F8,我用的HP的随机smart光盘配置的raid5,4块300G的硬盘,配完其实只有700多个G。配置完会有个!号警告,那个是因为刚配置完,磁盘需要一点时间才能配置好。错误编号忘了记了,看英文说明就行了。

继续阅读 »

2010-12-31LA/NMP

配置nginx的ssi模块,使其支持shtml格式的页面

nginx 内置了ssi模块,开启方法

修改 nginx 的配置文件
# vi /usr/local/nginx/conf/nginx.conf

在http{}中添加如下代码即可:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

ps.这里文件类型可以改成其他的,比如让htm也支持ssi,那么把text/shtml改成text/htm就行了,但是这样的话,由于服务器里htm的文件较多,也不一定全都用ssi引入其他页面,会给nginx造成一些不必要的消耗,所以不建议这么做。

继续阅读 »

linux服务器限制root用户通过ssh远程登陆

为了服务器安全起见,限制root用户通过ssh远程登陆比较稳妥。

1.修改ssh配置文件

# vi /etc/ssh/sshd_config
输入
/PermitRootLogin
查找到行
#PermitRootLogin yes
去掉注释符,将yes改为no

2.重启sshd

# service sshd restart

继续阅读 »

2010-12-29LA/NMP

putty远程连接centos显示乱码的解决方法

今天在使用putty远程连接centos,想修改网卡配置的时候,屏幕显示出现乱码。下面解决方法比较省事,不用改系统默认语言。

1.putty->window->Apperance->Font Settings->Change 选择语言

2.putty->window->translation->use font encoding -> UTF-8

mysql数据库编码转换(gbk转成utf8)的解决方法

由于各种原因考虑,之前的网站采用的gbk编码,现在又遇到其他原因,为了长远考虑,需要将网站数据库gbk编码转换成utf8的。

今天进行了一下测试,已经转换完成。还算比较顺利。方法也简单。

继续阅读 »

返回顶部