浏览模式: 普通 | 列表
12月, 2010 | < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | >

彻底杜绝PHP的session cookie错误

[ 2010-12-20 13:11:42 | 作者: admin ]
本文讨论的是如何彻底杜绝warning: Cannot add header information - headers already sent in...... 这种令人莫明其妙的的错误。

  只要你写过PHP代码,相信都遇上过这个大多时候都令人莫明其妙的warning吧..今天我们就来搞定它...............

  看了PHP手册,回答如下:

  消息“Warning: Cannot send session cookie - headers already sent。。。”或者“Cannot add header information - headers already sent。。。”。

  函数 header(),setcookie() 和 session 函数需要在输出流中增加头信息。但是头信息只能在其它任何输出内容之前发送。在使用这些函数前不能有任何(如 ...

阅读全文…
windows服务器没有配置session会话的保存路径,一般是web盘的根目录 /tmp ,给予php运行账号的读写权限

PHP判断搜索引擎机器人Robot

[ 2010-12-18 14:01:58 | 作者: admin ]
有朋友问到如何使用PHP去判断是否是搜索引擎,其实PHP有个很简单的方式去实现,通过_SERVER这个预定义变量中的_SERVER['HTTP_USER_AGENT']可以取得访问者的属性,具体可以看下Diiscuz!是如何判断搜索引擎的,函数代码如下:
function getrobot() {
if(!defined('IS_ROBOT')) {
kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/(kw_browsers)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
...

阅读全文…

ftp传文件中途中断之后

[ 2010-12-17 10:40:30 | 作者: admin ]
需要先将服务器上的文件删除,然后再重新上传!
(1)、varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。
update 表名 set text类型字段名= replace ( convert ( varchar ( 8000) , text类型字段名) , '要替换的字符' , '替换成的值' )


(2)、大于8000的需要用存储过程

调用演示
exec replacenew 'info' , 'content','id' ,'sohu.com','52news.com'


存储过程ReplaceText

CREATE procedure [dbo].[ReplaceText]

@TargetTable nvarchar(1000), --目标表名
...

阅读全文…

Linux计划任务入门详解

[ 2010-12-15 11:13:00 | 作者: admin ]
  cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

  /sbin/service crond start //启动服务

  /sbin/service crond stop //关闭服务

  /sbin/service crond restart //重启服务

  /sbin/service crond reload //重新载入配置

  你也可以将这个服务在系统启动的时候自动启动:

  在/etc/rc.d/rc.local这个脚本的末尾加上:

  /sbin/service crond start

  现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

  1.直接用crontab命令编辑
...

阅读全文…

Nginx日志切割脚本

[ 2010-12-14 20:07:19 | 作者: admin ]
使用logrotate:

vi /etc/logrotate.d/nginx

/usr/local/nginx/logs/*.access.log error.log{
daily
missingok
#保留365个log
rotate 365
compress
#延后压缩
delaycompress
#无文件不压缩
notifempty
#创建的文件权限设置为644,用户组nobody:root
create 644 nobody root
#多个文件脚本轮换只执行一次
dateext
#在文件末尾添加当前日期
olddir /usr/local/nginx/logs/backlog/
#把备份文件拷贝到老目录,防止再次备份
sharedscripts
prerotate
#rotate之前sleep59秒
sleep 59
endscript
postrotate
...

阅读全文…
p.s.最新R710网卡驱动
Redhat 5.x 网卡最新驱动:
http://ftp.us.dell.com/network/Bcom_LAN_16.0.0_Linux_Source_A00.tar.gz

Broadcom 网站上对应最新的linux驱动:
http://www.broadcom.com/support/ethernet_nic/netxtremeii.php

Dell R710 用的操作系统是 RedHat As5.3 X64 会在正常运行中无故断网….
而且并没有规律,择日而断…弄了好久,还以为是机房的问题,最后无奈之下打电话给 Dell 报修。
他们的工程师立马就反应过来,这是 RedHat As5.X 版本中的Broadcom NetXtreme II BCM 5709 驱动 BUG,涉及到 ACPI 电源管理的问题。
所以当网卡在正常工作的时候,会被 ACPI 误以为他闲着,从而把它给关闭掉。
...

阅读全文…