2012-1-30 18:31 Monday  

在网上搜索了很多关于ffmpeg-php的文章。大部分都是在linux下配置的文章。介绍window配置的内容相当的少,通过自己努力终于在windows下配置成功。特写下文章希望对大家做视频开发有用。

首先介绍下我使用的集成环境wamp。

PHP: php5.2.6

Apache: apache2.2.8

1.下载ffmpeg-php:http://sergey89.ru/files/ffmpeg-php-win32-all.zip

2. 解压ffmpeg-php-win32-all.zip 后有下面几个文件:

     avcodec-51.dll

     avformat-51.dll

     avutil-49.dll

     php_ffmpeg.dll

     pthreadGC2.dll

3. 将四个文件拷贝到windows\system32文件夹下面(小插曲:之前自己再配置时候按照网上的文章只拷贝两个文件 avcodec-51.dll, avformat-51.dll到这个文件,结果发现并不能配置成功。后来将后面avutil-49.dll, pthreadGC2.dll全部拷贝过去就成功了,很有可能这四个文件是有一定关联使用的。)

     avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll

4. 然后需要到apache\bin文件下找到php.ini文件下允许使用dll文件加入extension=php_ffmpeg.dll 并允许     extension=php_gd2.dll, extension=php_gettext.dll这两个
改动后如下(去掉前面的分号就代表允许执行)

    extension=php_gd2.dll
    extension=php_gettext.dll
    extension=php_ffmpeg.dll

5. 重新启动wamp后使用phpinfo()函数看到一下信息配置:   //我两个环境一个apache一个IIS,iis不用重启就生效了,apache没试不知道, add by aboc

ffmpeg


ffmpeg-php version 0.5.2.1
libavcodec version Lavc51.43.0
libavformat version Lavf51.12.2
ffmpeg-php gd support enabled

 以上就表明ffmpeg在php环境中配置成功了。

6. 下面我们建立一个php的页面来测试是不是可以使用ffmpeg的一些函数功能。建立testvideo.php文件

 代码如下:

<?php

extension_loaded('ffmpeg');  //可不要

$ffmpegInstance = new ffmpeg_movie('C:\wamp\www\top10.mp4'); //这里要用绝对路径
echo "getDuration: " . $ffmpegInstance->getDuration()."<br>" .
"getFrameCount: " . $ffmpegInstance->getFrameCount()."<br>" .
"getFrameRate: " . $ffmpegInstance->getFrameRate()."<br>" .
"getFilename: " . $ffmpegInstance->getFilename()."<br>" .
"getComment: " . $ffmpegInstance->getComment()."<br>" .
"getTitle: " . $ffmpegInstance->getTitle()."<br>" .
"getAuthor: " . $ffmpegInstance->getAuthor()."<br>" .
"getCopyright: " . $ffmpegInstance->getCopyright()."<br>" .
"getArtist: " . $ffmpegInstance->getArtist()."<br>" .
"getGenre: " . $ffmpegInstance->getGenre()."<br>" .
"getTrackNumber: " . $ffmpegInstance->getTrackNumber()."<br>" .
"getYear: " . $ffmpegInstance->getYear()."<br>" .
"getFrameHeight: " . $ffmpegInstance->getFrameHeight()."<br>" .
"getFrameWidth: " . $ffmpegInstance->getFrameWidth()."<br>" .
"getPixelFormat: " . $ffmpegInstance->getPixelFormat()."<br>" .
"getBitRate: " . $ffmpegInstance->getBitRate()."<br>" .
"getVideoBitRate: " . $ffmpegInstance->getVideoBitRate()."<br>" .
"getAudioBitRate: " . $ffmpegInstance->getAudioBitRate()."<br>" .
"getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate()."<br>" .
"getVideoCodec: " . $ffmpegInstance->getVideoCodec()."<br>" .
"getAudioCodec: " . $ffmpegInstance->getAudioCodec()."<br>" .
"getAudioChannels: " . $ffmpegInstance->getAudioChannels()."<br>" .
"hasAudio: " . $ffmpegInstance->hasAudio();
?>

 7.执行后如果拿到视频的一些信息如下就表示环境配置成功了,那我们就可以开始开发我们的视频转换了。

执行结果:

getDuration: 811.13336181641
getFrameCount: 12167
getFrameRate: 15
getFilename: C:\wamp\www\top10.mp4
getComment:
getTitle:
getAuthor:
getCopyright:
getArtist:
getGenre:
getTrackNumber: 0
getYear: 0
getFrameHeight: 240
getFrameWidth: 320
getPixelFormat: yuv420p
getBitRate: 269769
getVideoBitRate:
getAudioBitRate:
getAudioSampleRate: 48000
getVideoCodec: mpeg4
getAudioCodec: mpeg4aac
getAudioChannels: 2
hasAudio: 1

 

转自:http://blog.csdn.net/koala_swnu/archive/2010/04/13/5482983.aspx

 

视频截图的话如下方法: //add by aboc

$ff_frame = $ffmpegInstance->getFrame(rand(1,$ffmpegInstance->getFrameCount())); //随机截取某一帧
$gd_image = $ff_frame->toGDImage();
imagejpeg($gd_image,'t.jpg');
imagedestroy($gd_image);

echo '<img src="t.jpg" />';

1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载http://www.helicontech.com/download-isapi_rewrite.htmIIS Rewrite 简化版组件下载http://soft.duoduo123.com/tool/,下载下来解压后不用安装拷到目录下设置好即可使用。

注:IIS Rewrite简单使用方法介绍:一个功能强大的URL处理引擎,功能和Apache的 mod_Rewrite类似,这个是For IIS版本 可以把像list.asp?id=234 这样的链接映射成 list/234.html 这样就有利于在GG中的排名

完全版(Full)与简化版(Lite)的最大的区别在于可以让每个站点自定义URL重写规则(Rewrite Rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。

安装说明:下载后可以解压出 ISAPI_Rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 IIS 站点属性的 ISAPI 中加载 ISAPI_Rewrite.dll  就可以了, httpd.ini  是配置文件里面有例子。如果加载不成功的话 请给 ISAPI_Rewrite.dll   安全属性为完全。

 
 

 
 

 

[转自多多淘宝客]

2012-1-30 18:29 Monday  
<script type="text/javascript">
/**
 * jQuery.query - Query String Modification and Creation for jQuery
 * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
 * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
 * Date: 2009/8/13
 *
 * @author Blair Mitchelmore
 * @version 2.1.7
 *
 **/
new function(settings) {
  // Various Settings
  var $separator = settings.separator || '&';
  var $spaces = settings.spaces === false ? false : true;
  var $suffix = settings.suffix === false ? '' : '[]';
  var $prefix = settings.prefix === false ? false : true;
  var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";
  var $numbers = settings.numbers === false ? false : true;
 
  jQuery.query = new function() {
    var is = function(o, t) {
      return o != undefined && o !== null && (!!t ? o.constructor == t : true);
    };
    var parse = function(path) {
      var m, rx = /\[([^[]*)\]/g, match = /^([^[]+)(\[.*\])?$/.exec(path), base = match[1], tokens = [];
      while (m = rx.exec(match[2])) tokens.push(m[1]);
      return [base, tokens];
    };
    var set = function(target, tokens, value) {
      var o, token = tokens.shift();
      if (typeof target != 'object') target = null;
      if (token === "") {
        if (!target) target = [];
        if (is(target, Array)) {
          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
        } else if (is(target, Object)) {
          var i = 0;
          while (target[i++] != null);
          target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);
        } else {
          target = [];
          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
        }
      } else if (token && token.match(/^\s*[0-9]+\s*$/)) {
        var index = parseInt(token, 10);
        if (!target) target = [];
        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
      } else if (token) {
        var index = token.replace(/^\s*|\s*$/g, "");
        if (!target) target = {};
        if (is(target, Array)) {
          var temp = {};
          for (var i = 0; i < target.length; ++i) {
            temp[i] = target[i];
          }
          target = temp;
        }
        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
      } else {
        return value;
      }
      return target;
    };
   
    var queryObject = function(a) {
      var self = this;
      self.keys = {};
     
      if (a.queryObject) {
        jQuery.each(a.get(), function(key, val) {
          self.SET(key, val);
        });
      } else {
        jQuery.each(arguments, function() {
          var q = "" + this;
          q = q.replace(/^[?#]/,''); // remove any leading ? || #
          q = q.replace(/[;&]$/,''); // remove any trailing & || ;
          if ($spaces) q = q.replace(/[+]/g,' '); // replace +'s with spaces
         
          jQuery.each(q.split(/[&;]/), function(){
            var key = decodeURIComponent(this.split('=')[0] || "");
            var val = decodeURIComponent(this.split('=')[1] || "");
           
            if (!key) return;
           
            if ($numbers) {
              if (/^[+-]?[0-9]+\.[0-9]*$/.test(val)) // simple float regex
                val = parseFloat(val);
              else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex
                val = parseInt(val, 10);
            }
           
            val = (!val && val !== 0) ? true : val;
           
            if (val !== false && val !== true && typeof val != 'number')
              val = val;
           
            self.SET(key, val);
          });
        });
      }
      return self;
    };
   
    queryObject.prototype = {
      queryObject: true,
      has: function(key, type) {
        var value = this.get(key);
        return is(value, type);
      },
      GET: function(key) {
        if (!is(key)) return this.keys;
        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
        var target = this.keys[base];
        while (target != null && tokens.length != 0) {
          target = target[tokens.shift()];
        }
        return typeof target == 'number' ? target : target || "";
      },
      get: function(key) {
        var target = this.GET(key);
        if (is(target, Object))
          return jQuery.extend(true, {}, target);
        else if (is(target, Array))
          return target.slice(0);
        return target;
      },
      SET: function(key, val) {
        var value = !is(val) ? null : val;
        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
        var target = this.keys[base];
        this.keys[base] = set(target, tokens.slice(0), value);
        return this;
      },
      set: function(key, val) {
        return this.copy().SET(key, val);
      },
      REMOVE: function(key) {
        return this.SET(key, null).COMPACT();
      },
      remove: function(key) {
        return this.copy().REMOVE(key);
      },
      EMPTY: function() {
        var self = this;
        jQuery.each(self.keys, function(key, value) {
          delete self.keys[key];
        });
        return self;
      },
      load: function(url) {
        var hash = url.replace(/^.*?[#](.+?)(?:\?.+)?$/, "$1");
        var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");
        return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);
      },
      empty: function() {
        return this.copy().EMPTY();
      },
      copy: function() {
        return new queryObject(this);
      },
      COMPACT: function() {
        function build(orig) {
          var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;
          if (typeof orig == 'object') {
            function add(o, key, value) {
              if (is(o, Array))
                o.push(value);
              else
                o[key] = value;
            }
            jQuery.each(orig, function(key, value) {
              if (!is(value)) return true;
              add(obj, key, build(value));
            });
          }
          return obj;
        }
        this.keys = build(this.keys);
        return this;
      },
      compact: function() {
        return this.copy().COMPACT();
      },
      toString: function() {
        var i = 0, queryString = [], chunks = [], self = this;
        var encode = function(str) {
          str = str + "";
          if ($spaces) str = str.replace(/ /g, "+");
          return encodeURIComponent(str);
        };
        var addFields = function(arr, key, value) {
          if (!is(value) || value === false) return;
          var o = [encode(key)];
          if (value !== true) {
            o.push("=");
            o.push(encode(value));
          }
          arr.push(o.join(""));
        };
        var build = function(obj, base) {
          var newKey = function(key) {
            return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");
          };
          jQuery.each(obj, function(key, value) {
            if (typeof value == 'object')
              build(value, newKey(key));
            else
              addFields(chunks, newKey(key), value);
          });
        };
       
        build(this.keys);
       
        if (chunks.length > 0) queryString.push($hash);
        queryString.push(chunks.join($separator));
       
        return queryString.join("");
      }
    };
   
    return new queryObject(location.search, location.hash);
  };
}(jQuery.query || {}); // Pass in jQuery.query as settings object
</script>
<script type="text/javascript">
window.location='index.php?id='+$.query.get('id');;
</script>

ubuntu 10.04 上 php 版本是 5.3 不能用  zend Optimizer 只能改用 5.2 了
第一步:
sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list
第二步:
/etc/apt/preferences.d 中新建一個文件 php 內容如下:
Package: php5
Pin: release a=karmic
Pin-Priority: 991

Package: php5-gd
Pin: release a=karmic
Pin-Priority: 991

Package: php5-common
Pin: release a=karmic
Pin-Priority: 991

Package: php5-curl
Pin: release a=karmic
Pin-Priority: 991

Package: php5-mysql
Pin: release a=karmic
Pin-Priority: 991


Package: php5-pear
Pin: release a=karmic
Pin-Priority: 991

Package: php5-xsl
Pin: release a=karmic
Pin-Priority: 991


Package: php-pear
Pin: release a=karmic
Pin-Priority: 991

Package: php5-cli
Pin: release a=karmic
Pin-Priority: 991

Package: php5-memcache
Pin: release a=karmic
Pin-Priority: 991

Package: php5-pgsql
Pin: release a=karmic
Pin-Priority: 991

Package: libapache2-mod-php5
Pin: release a=karmic
Pin-Priority: 991
第三步:
sudo apt-get update
sudo apt-get remove php5 libapache2-mod-php5 php5-xsl php5-gd php-pear php5-mysql php5-curl php5-memcache
sudo apt-get install php5 libapache2-mod-php5 php5-xsl php5-gd php-pear php5-mysql php5-curl php5-memcache
補充: 如果沒有安裝  apache2 和 mysql 執行
sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5 php5-xsl php5-gd php-pear libapache2-mod-auth-mysql php5-mysql php5-curl php5-memcache
apt-get install  libapache2-mod-php5 php5 php5-gd  php5-cli
cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/php5.load php5.load

sudo ln -s ../mods-available/php5.conf php5.conf

 

来源 百度知道

php扩展已经添加好了,但是访问出现如下问题:

“/”应用程序中的服务器错误。无法找到资源。 说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。

请求的 URL: /


把那个asp.net版本改成2.0就可以了
2012-1-30 18:27 Monday  

yum install vsftpd

2.启动/重启/关闭vsftpd服务器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
OK表示重启成功了.
启动和关闭分别把restart改为start/stop即可.
如果是源码安装的,到安装文件夹下找到start.sh和shutdown.sh文件,执行它们就可以了.

3.与vsftpd服务器有关的文件和文件夹
vsftpd服务器的配置文件的是: /etc/vsftpd/vsftpd.conf

vsftpd服务器的根目录,即FTP服务器的主目录:
在/var/ftp处pub处
如果你想修改服务器目录的路径,那么你只要修改/var/ftp到别处就行了

4.添加FTP本地用户
有的FTP服务器需要用户名和密码才能登录,就是因为设置了FTP用户和权限.
FTP用户一般是不能登录系统的,只能进入FTP服务器自己的目录中,这是为了安全.这样的用户就叫做虚拟用户了.实际上并不是真正的虚拟用户,只是不能登录SHELL了而已,没能力登录系统.

/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin test
这个命令的意思是:
使用命令(adduser)添加test用户,不能登录系统(-s /sbin/nologin),自己的文件夹在(-d /opt/test_ftp)),属于组ftp(-g ftp)
然后你需要为它设置密码 passwd test
这样就添加了一个FTP用户了.下面的示例可以帮助你进入FTP服务器了.

[root@localhost ftp]# ftp
ftp> open 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.

在windows中,只要在浏览器中输入 ftp://192.168.0.33 进入FTP服务器,然后 右键 登录,输入用户名和密码就可以登录自己的目录了.
当然你要保证自己能读写自己的目录,就要在配置文件vsftpd.conf里设置一下就可以读写了.
local_enable=yes
write_enable=yes
local_umask=022

5.匿名上传下载
修改配置文件即可vsftpd.conf,确定有以下几行,没有自己添加进去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022

然后你可以新建一个文件夹,修改它的权限为完全开放,任何用户就可以登录这个文件夹,并上传下载文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest

6.定制进入FTP服务器的欢迎信息
在vsftpd.conf文件中设置:
dirmessage_enable=yes
然后进入用户目录建立一个.message文件,输入欢迎信息即可(我这里写入的是Welcome to gxlinux's FTP!):
[root@localhost test_ftp]# ftp 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230-Welcome to gxlinux's FTP!
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

7.实现虚拟路径
将某个目录挂载到FTP服务器下供用户使用,这就叫做虚拟路径.
比如将gxl用户的目录挂载到FTP服务器中,供FTP服务器的用户使用,使用如下命令即可:
[root@localhost opt]# mount --bind /home/gxl /var/ftp/pub #使用挂载命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面

开机自动挂载可用

这样子的方式

 

8.打开vsFTPd的日志功能
添加下面一行到vsftpd.conf文件中,一般情况下该文件中有这一行,只要把前面的注释符号#去掉即可,没有的话就添加,或者修改:
xferlog_file=/var/log/vsftpd.log

9.限制链接数,以及每个IP最大的链接数
修改配置文件中,例如vsftp最大支持链接数100个,每个IP能支持5个链接:
max_client=100
max_per=5

10.限制传输速度
修改配置文件中,例如让匿名用户和vsftd上的用户(即虚拟用户)都以80KB=1024*80=81920的速度下载
anon_max_rate=81920
local_max_rate=81920

11.将用户(一般指虚拟用户)限制在自家目录
修改配置文件中,这样用户就只能访问自己家的目录了:
chroot_local_user=yes
如果只想某些用户仅能访问自己的目录,其它用户不做这个限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用户.
编辑此文件,比如将test用户添加到此文件中,那么将其写入即可.一般的话,一个用户占一行.
[root@localhost vsftpd]# cat chroot_list
test

12.绑定某个IP到vsFTPd
有时候要限制某些IP访问服务器,只允许某些IP访问,例如只允许192.168.0.33访问这个FTP,同样修改配置文件:
listen_address=192.168.0.33


配置vsftpd.conf
                   anonymous_enable=NO            #禁止匿名
                   local_enable=YES                       #允许本地登录
                   write_enable=YES                       #允许写,如需上传,则必须
                   local_umask=027                        #将上传文件的权限设置为:777-local_umask
                   anon_upload_enable=YES          #允许虚拟用户和匿名用户上传
                   anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件
                   dirmessage_enable=YES          
                   xferlog_enable=YES                      #打开日志记录
                   connect_from_port_20=YES
                   xferlog_file=/var/log/vsftpd.log     #日志存放位置
                   xferlog_std_format=YES              #标准日志格式
                   idle_session_timeout=600        #空闲连接超时
                   data_connection_timeout=120
                   ftpd_banner=Welcome to ChinaRise FTP service       #欢迎信息
                   guest_enable=yes                       #允许虚拟用户
                   guest_username=vsftpdguest #虚拟用户使用的系统账号
                   virtual_use_local_privs=YES     #虚拟用户拥有本地系统权限

                   chroot_local_user=NO             
                   chroot_list_enable=YES
                     #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用                           
                   chroot_local_user=YES                               

                   listen=yes                #监听/被动模式
                   listen_port=21        #监听端口

                   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list       #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
                   user_config_dir=/etc/vsftpd/vsftpd_user_conf   #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中

虚拟用户其他设置

      在/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个
      在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件,
      写入:local_root = /var/FTP/子目录名
      然后在/var/FTP下创建一个对应的目录即可

 

当虚拟用户权限出现不能创建目录,上传时,是因为selinux搞的鬼,可以采用以下方法解决

1
yum remove selinux* -y

当然你也可以

 

2
vi /etc/selinux/config

修改为:SELINUX=disabled

3.setsebool -P ftpd_disable_trans 1

把他禁止掉,看你自己喜欢了。

重试,问题解决!

 

编辑/etc/vsftpd/vsftpd.conf,注意在等号前的部分大小写是敏感的,一定要全部小写,最后所有产生效用

的设置调如下。
anonymous_enable=NO   不允许匿名登录(默认为YES,需要修改)
local_enable=YES   允许本地用户登录(默认)
write_enable=YES   开放本地用户登录后的修改权限(默认)
local_umask=022   上传文件默认权限为755(777-022)(默认)
dirmessage_enable=YES   欢迎信息(默认)
xferlog_enable=YES   记录log(默认)
connect_from_port_20=YES   (默认)
xferlog_std_format=YES   log格式(默认)
listen=YES   (默认)
chroot_local_user=YES   限制用户登陆后只能在自身目录(新添加)
pam_service_name=vsftpd   (默认)
tcp_wrappers=YES   (默认)
最后删除一条默认的userlist_enable=YES
保存退出后

接下来建立一个不能在本地登录而只能使用ftp的用户,假设用户名为ftpuser,个人所属的文件夹

为/var/ftp/ftpuser

重要一,

命令如下
useradd -g ftp -d /var/ftp/ftpuser -s /sbin/nologin ftpuser
建立完成后使用passwd ftpuser命令设置密码

重要二,

cd /etc/vsftpd/

touch chroot_list

vi chroot_list 添加 ftpuser

重启vsftpd

附带:如果上传时出现以下报错(man man ftpd_selinux得到帮助):

vsftp " 553 Could not create file"

解决方法:

1. 执行

setsebool -P ftpd_disable_trans 1
2.

service vsftpd restart

 

 

虚拟用户登录530错误。。

解决方法:

cp Path/RedHat/vsftpd.pam /etc/pam.d/ftp

path为vsftp解压缩源文件目录

这是因为我们RHEL启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/ftp这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。

结果我这么一做,匿名用户也登不上了

 

 

vsftp 上传 失败 错误 200 227 553


An error occurred copying a file to the FTP server.Make sure you have permission to put file on the server.

Details:

200 Switching to Binary mode.

227 Entering Passive Mode(192,168,130,102,66,128)

553 Could not create file.

 

附: FTP 数字代码的意义
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路埠开启,准备传送。
150 文件状态正常,开启数据连接端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制连接埠关闭,可以注销。
225 数据连结开启,但无传输动作。
226 关闭数据连接端口,请求的文件操作成功。
227 进入passive mode。
230 使用者登入。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要账号信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。

 

今天遇到这个错误

解决方法

关闭selinux

修改/etc/vsftpd.conf

write_enable=YES

假设要上传这个目录是/home/ftp 

他的权限应该是770,owner是用户名,group是user

chmod 770 /home/ftp    实事证明 弄成770是不行的,要弄成755 ,要不然web不能访问

chown 用户名:用户组 /home/ftp

 

OK~搞定

来源:http://phpec.com/?action=show&id=33

一直以来,由于php本身的session机制不能跨机,令很多phper感到不爽,现在流行的解决方案主要有:
1)使用数据库来实现
2)自己写server端,通过改写session处理函数来请求
3)使用nfs等跨机存储来保存session
4)使用memcache来保存
5)使用zend platform提供的解决方案

其中的1-4都是通过改用可以跨机的储存机制,再使用session_set_save_handler()来实现,5是zend公司的商业产品(不过据之前在使用的同事反映,效果不太满意),以上的方案,各有利弊,不在本文讨论范围

无论是用memcache,还是db,nfs,其原理是一样的,都是通过session_set_save_handler函数来改变默认的处理方式,通 过指定回调函数来自定义处理,可以参考手册的session_set_save_handler()函数部分,有例子,比较容易明白

以下是一些我在使用memcache来实现时的一些记录:
1)使用类来实现时,各回调函数都定义为静态方法,在类的构造中使用session_set_save_handler注册回调函数, 如:
session_set_save_handler(
                array('memSession', 'open'),
                array('memSession', 'close'),
                array('memSession', 'read'),
                array('memSession', 'write'),
                array('memSession', 'destroy'),
                array('memSession', 'gc')
          );
memSession为类名,要使用session,则先new memSession,再session_start();


2)生存期和垃圾回收
memCache的set命令有生存期,即使用set命令添加值时,可加上lifetime,此时间可以作为session的生存期,用户在此时间内没有 动作,则会失效,但有动作则不会失效(因为每一个脚本结束时,都会执行write和close,此时lifetime就会被更新了),当然,如果使用 cookie传递SID,则控制SESSION生存期可以用:ini_set('session.cookie_lifetime',time)来设定, 这其实是控制cookie的有效时间,如果session赖以生存的cookie消失了,当然session也就活不了,使用 cookie_lifetime来控制的话,无论有无动作,都将在指定的时间后过时

gc是指垃圾回收,在session中是指清理过期的session数据,影响的参数有:
session.gc_maxlifetime 被视为垃圾前的生存期,超过此时间没有动作,数据会被清走
注意的是,gc不是每次启动会话都会被执行,而是由session.gc_probability 和 session.gc_divisor的比率决定的

结论:控制SESSION的生存期有几种方法
一是cookie_lifttime,这种方式无论有无动作,都会在指定时间内销毁
二是在read中根椐保存时间控制,此方法在有动作时时间会一直有效
三设定session.gc_probability 和 session.gc_divisor的比率为1(即每次会话都会启用gc),再设定gc.maxlifetime来指定生存期,此方法也是在用户有动作时时间一直有效

3)回调函数的执行时机
open 在运行session_start()时执行
read 在运行session_start()时执行,因为在session_start时,会去read当前session数据并写入$_SESSION变量
destroy 在运行session_destroy()时执行
close 在脚本执行完成或调用session_write_close() 或 session_destroy()时被执行,即在所有session操作完成后被执行
gc 执行概率由session.gc_probability 和 session.gc_divisor的值决定,时机是在open,read之后,即session_start会相继执行open,read和gc
write 此方法在脚本结束和使用session_write_close()强制提交SESSION数据时执行

结论:
session_start //执行open(启动会话),read(读取session数据至$_SESSION),gc(清理垃圾)
脚本中间所有对$_SESSION的操作均不会调用这些回调函数
session_destroy //执行destroy,销毁当前session(一般是删除相应的记录或文件),相应地,此回调函数销毁的只是session的数据,但此时

var_dump一下$_SESSION变量,仍然有值的,但此值不会在close后被write回去
session_write_close() //执行write和close,保存$_SESSION至存储,如不手工使用此方法,则会在脚本结束时被自动执行

清晰了以上信息,将对你清楚了解SESSION的工作原理有很大的帮助...

4)直接使用memcache作session处理
在我写了一系列的memcache来保存session的代码后,无意中发现,可以直接在php.ini中设定使用memcache作为session处理,而无须另外编码,方法是:
修改php.ini中的以下值
session.save_handler = memcache
session.save_path = 'tcp://host1:11211' #有多个时直接用","分隔即可
如果只想在特定的应用里使用memcache储存session,可以使用ini_set的方法对以上两个参数进行设定

要测试一下是否真正用上了memcache,可以先捕足到使用的PHPSESSID,再作为KEY用memcach去读一下,就清楚了

<?php
    /**
     * session使用memcached Aboc QQ:9986584
     */


     class Session{

          //过期时间
          private $_LEFT_TIME = 3600;
          
          //当前时间
          private $_nowtime = 0;
          
          //过期的确切时间
          private $_expiry = 0;

          private $_sessionid = '';
          
          private $_memcached_host = MEMCACHEDHOST;
          private $_memcached_port = MEMCACHEDPORT;
          public $mem;
          
          public function open() {
              $this->_nowtime = time();
              $this->_expiry = $this->_nowtime+$this->_LEFT_TIME;
              if (isset($_COOKIE['PHPSESSID'])){
                $this->_sessionid = $_COOKIE['PHPSESSID'];
                //session_id($this->_sessionid);
                $this->write_sessionid($this->_sessionid);
            } else {
                /**
                 * 要弄一个唯一的值才可以
                 */
                $tempsessionid = md5($_SERVER['REMOTE_ADDR'].$this->getIp().$_SERVER['HTTP_USER_AGENT'].rand(100000,999999));
                $this->write_sessionid($tempsessionid);
                $this->_sessionid = $tempsessionid;
                session_id($this->_sessionid);
            }
            $this->mem = new Memcache;
            $this->mem->connect($this->_memcached_host,$this->_memcached_port);      
         }
         
         /**
          * 设置过期时间,秒
          * Enter description here ...
          * @param unknown_type $seconds
          */
        public function setLefttime($seconds=3600){
            $this->_LEFT_TIME = $seconds;
        }
          
         private function getIp() {
        if (isset ( $_SERVER )) {
            if (isset ( $_SERVER ["HTTP_X_FORWARDED_FOR"] )) {
                $realip = $_SERVER ["HTTP_X_FORWARDED_FOR"];
            } else if (isset ( $_SERVER ["HTTP_CLIENT_IP"] )) {
                $realip = $_SERVER ["HTTP_CLIENT_IP"];
            } else {
                $realip = $_SERVER ["REMOTE_ADDR"];
            }
        } else {
            if (getenv ( "HTTP_X_FORWARDED_FOR" )) {
                $realip = getenv ( "HTTP_X_FORWARDED_FOR" );
            } else if (getenv ( "HTTP_CLIENT_IP" )) {
                $realip = getenv ( "HTTP_CLIENT_IP" );
            } else {
                $realip = getenv ( "REMOTE_ADDR" );
            }
        }
        if(isset($realip[16]))$realip = substr($realip,0,15);
        return $realip;
        }
          
          /**
           * 将自定义的sessionid写入cookie
           *
           * @param unknown_type $sessionid
           */
          private function write_sessionid($sessionid){
              setcookie('PHPSESSID',$sessionid,$this->_expiry,'/');              
          }

          public function close(){

          }

          /**
           * 读
           */
          public function read() {
              //echo $this->_sessionid;
              $content =$this->mem->get($this->_sessionid);
              if ($content){
                  return $content;
              }else{
                  $this->mem->set($this->_sessionid,'',0,$this->_LEFT_TIME);
                  return false;
              }
          }

          /**
           * 写
           */
          public function write( $sessionid , $sessdata ) {
             $this->mem->replace($this->_sessionid,$sessdata,0,$this->_LEFT_TIME);
               return true;
          }
          
          /**
           * 指定销毁
           */
          public function destroy() {
              $this->mem->delete($this->_sessionid);
          }

          /**
           * 销毁过期的数据
           */
          public function gc() {
                  //         
          }
          
          
          public function __destruct(){
              //$this->gc();
          }

     }

     $session  = new Session();
     session_set_save_handler(
                 array(&$session,'open'),
                 array(&$session,'close'),
                 array(&$session,'read'),
                 array(&$session,'write'),
                 array(&$session,'destroy'),
                 array(&$session,'gc')
     );
     session_start();
?>

2012-1-30 18:25 Monday  

1.windows下

去掉extension=php_soap.dll前的;号重启iis或是apache即。

2.centos下

  通过yum安装  yum install php-soap 然后重启apache。

中途如果有报thread.error: can't start new thread 这个错误,则用如下方法解决

编辑 /etc/yum/pluginconf.d/fastestmirror.conf

将enabled=1修改为enabled=0,禁用该功能就可以了。

 通过重编译来扩展,则进行如下操作,来源http://www.9enjoy.com/php5-soap-make/

切换到php5安装目录的soap目录
cd /soft/php-5.2.8/ext/soap
视php安装目录定
/usr/local/php5/bin/phpize
编译soap.so
./configure --with-php-config=/usr/local/php5/bin/php-config --enable-soap
make
make install

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20060613/
提示编译后的soap.so文件保存在了/usr/local/php5/lib/php/extensions/no-debug-zts-20060613/目录下。

修改php.ini
vi /usr/local/apache2.2.0/conf/php.ini

如 果之前没有安装过extension,则需要将extension_dir = "./"改为extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20060613/",如果已经装过,这步之前就 已经改过了。
再其后面加一句:
extension = "soap.so"

重新启动apache,在phpinfo中就有soap的信息了。
Soap Client  enabled  
Soap Server  enabled  

在另一台在phpsize时提示了一些错误,不过不影响之后的编译安装。
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "zh_CN.GB2312:en_US:en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "zh_CN.GB2312:en_US:en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
2012-1-30 18:25 Monday  

可以把error.html设成404的内容,造成页面不存在的假像。

ErrorDocument 403 /error.html  
<Limit GET HEAD POST>
order allow,deny
deny from 58.14
deny from 58.15
deny from 58.16
deny from 58.17
deny from 58.18
deny from 58.19
deny from 58.20
deny from 58.21
deny from 58.22
deny from 58.23
deny from 58.24
deny from 58.25
deny from 58.30
deny from 58.31
deny from 58.32
deny from 58.33
deny from 58.34
deny from 58.35
deny from 58.36
deny from 58.37
deny from 58.38
deny from 58.39
deny from 58.40
deny from 58.41
deny from 58.42
deny from 58.43
deny from 58.44
deny from 58.45
deny from 58.46
deny from 58.47
deny from 58.48
deny from 58.49
deny from 58.50
deny from 58.51
deny from 58.52
deny from 58.53
deny from 58.54
deny from 58.55
deny from 58.56
deny from 58.57
deny from 58.58
deny from 58.59
deny from 58.60
deny from 58.61
deny from 58.62
deny from 58.63
deny from 58.66
deny from 58.67
deny from 58.82
deny from 58.83
deny from 58.87
deny from 58.100
deny from 58.101
deny from 58.116
deny from 58.117
deny from 58.118
deny from 58.119
deny from 58.128
deny from 58.129
deny from 58.130
deny from 58.131
deny from 58.132
deny from 58.133
deny from 58.134
deny from 58.135
deny from 58.144
deny from 58.192
deny from 58.193
deny from 58.194
deny from 58.195
deny from 58.196
deny from 58.197
deny from 58.200
deny from 58.201
deny from 58.202
deny from 58.203
deny from 58.204
deny from 58.205
deny from 58.206
deny from 58.207
deny from 58.208
deny from 58.209
deny from 58.210
deny from 58.211
deny from 58.212
deny from 58.213
deny from 58.214
deny from 58.215
deny from 58.216
deny from 58.217
deny from 58.218
deny from 58.219
deny from 58.220
deny from 58.221
deny from 58.222
deny from 58.223
deny from 58.240
deny from 58.241
deny from 58.242
deny from 58.243
deny from 58.244
deny from 58.245
deny from 58.246
deny from 58.247
deny from 58.248
deny from 58.249
deny from 58.250
deny from 58.251
deny from 58.252
deny from 58.253
deny from 58.254
deny from 58.255
deny from 59.32
deny from 59.33
deny from 59.34
deny from 59.35
deny from 59.36
deny from 59.37
deny from 59.38
deny from 59.39
deny from 59.40
deny from 59.41
deny from 59.42
deny from 59.43
deny from 59.44
deny from 59.45
deny from 59.46
deny from 59.47
deny from 59.48
deny from 59.49
deny from 59.50
deny from 59.51
deny from 59.52
deny from 59.53
deny from 59.54
deny from 59.55
deny from 59.56
deny from 59.57
deny from 59.58
deny from 59.59
deny from 59.60
deny from 59.61
deny from 59.62
deny from 59.63
deny from 59.64
deny from 59.65
deny from 59.66
deny from 59.67
deny from 59.68
deny from 59.69
deny from 59.70
deny from 59.71
deny from 59.72
deny from 59.73
deny from 59.74
deny from 59.75
deny from 59.76
deny from 59.77
deny from 59.78
deny from 59.79
deny from 59.80
deny from 59.81
deny from 59.82
deny from 59.83
deny from 59.107
deny from 59.108
deny from 59.109
deny from 59.151
deny from 59.191
deny from 60.13
deny from 60.14
deny from 60.15
deny from 60.16
deny from 60.17
deny from 60.18
deny from 60.19
deny from 60.20
deny from 60.21
deny from 60.22
deny from 60.23
deny from 60.24
deny from 60.25
deny from 60.26
deny from 60.27
deny from 60.28
deny from 60.29
deny from 60.30
deny from 60.31
deny from 60.55
deny from 60.63
deny from 60.160
deny from 60.161
deny from 60.162
deny from 60.163
deny from 60.164
deny from 60.165
deny from 60.166
deny from 60.167
deny from 60.168
deny from 60.169
deny from 60.170
deny from 60.171
deny from 60.172
deny from 60.173
deny from 60.174
deny from 60.175
deny from 60.176
deny from 60.177
deny from 60.178
deny from 60.179
deny from 60.180
deny from 60.181
deny from 60.182
deny from 60.183
deny from 60.184
deny from 60.185
deny from 60.186
deny from 60.187
deny from 60.188
deny from 60.189
deny from 60.190
deny from 60.191
deny from 60.194
deny from 60.195
deny from 60.200
deny from 60.201
deny from 60.202
deny from 60.203
deny from 60.204
deny from 60.208
deny from 60.209
deny from 60.210
deny from 60.211
deny from 60.212
deny from 60.213
deny from 60.214
deny from 60.215
deny from 60.216
deny from 60.217
deny from 60.218
deny from 60.219
deny from 60.220
deny from 60.221
deny from 60.222
deny from 60.223
deny from 60.232
deny from 60.233
deny from 60.255
deny from 61.14
deny from 61.14
deny from 61.28
deny from 61.29
deny from 61.45
deny from 61.47
deny from 61.48
deny from 61.49
deny from 61.50
deny from 61.51
deny from 61.52
deny from 61.53
deny from 61.54
deny from 61.55
deny from 61.128
deny from 61.129
deny from 61.130
deny from 61.131
deny from 61.132
deny from 61.133
deny from 61.134
deny from 61.135
deny from 61.136
deny from 61.137
deny from 61.138
deny from 61.139
deny from 61.140
deny from 61.141
deny from 61.142
deny from 61.143
deny from 61.144
deny from 61.145
deny from 61.146
deny from 61.147
deny from 61.148
deny from 61.149
deny from 61.150
deny from 61.151
deny from 61.152
deny from 61.153
deny from 61.154
deny from 61.155
deny from 61.156
deny from 61.157
deny from 61.158
deny from 61.159
deny from 61.160
deny from 61.161
deny from 61.161
deny from 61.161
deny from 61.162
deny from 61.163
deny from 61.164
deny from 61.165
deny from 61.166
deny from 61.167
deny from 61.168
deny from 61.169
deny from 61.170
deny from 61.171
deny from 61.172
deny from 61.173
deny from 61.174
deny from 61.175
deny from 61.176
deny from 61.177
deny from 61.178
deny from 61.179
deny from 61.180
deny from 61.181
deny from 61.182
deny from 61.183
deny from 61.184
deny from 61.185
deny from 61.186
deny from 61.187
deny from 61.188
deny from 61.189
deny from 61.190
deny from 61.191
deny from 61.216
deny from 61.232
deny from 61.233
deny from 61.234
deny from 61.235
deny from 61.236
deny from 61.237
deny from 61.240
deny from 61.241
deny from 61.242
deny from 61.243
deny from 62.159
deny from 62.159
deny from 63.162
deny from 64.34
deny from 80.146
deny from 80.255
deny from 121.4
deny from 121.5
deny from 121.8
deny from 121.9
deny from 121.10
deny from 121.11
deny from 121.12
deny from 121.13
deny from 121.14
deny from 121.15
deny from 121.16
deny from 121.17
deny from 121.18
deny from 121.19
deny from 121.20
deny from 121.21
deny from 121.22
deny from 121.23
deny from 121.24
deny from 121.25
deny from 121.26
deny from 121.27
deny from 121.28
deny from 121.29
deny from 121.32
deny from 121.33
deny from 121.34
deny from 121.35
deny from 121.36
deny from 121.40
deny from 121.41
deny from 121.42
deny from 121.43
deny from 122.0
deny from 122.1
deny from 122.2
deny from 122.3
deny from 122.4
deny from 122.5
deny from 122.6
deny from 122.7
deny from 122.8
deny from 122.9
deny from 122.10
deny from 122.11
deny from 122.12
deny from 122.13
deny from 122.14
deny from 122.15
deny from 122.16
deny from 122.17
deny from 122.18
deny from 122.19
deny from 122.20
deny from 122.21
deny from 122.22
deny from 122.23
deny from 122.24
deny from 122.25
deny from 122.26
deny from 122.27
deny from 122.28
deny from 122.29
deny from 122.30
deny from 122.31
deny from 122.32
deny from 122.33
deny from 122.34
deny from 122.35
deny from 122.36
deny from 122.37
deny from 122.38
deny from 122.39
deny from 122.40
deny from 122.41
deny from 122.42
deny from 122.43
deny from 122.44
deny from 122.45
deny from 122.46
deny from 122.47
deny from 122.48
deny from 122.49
deny from 122.50
deny from 122.51
deny from 122.52
deny from 122.53
deny from 122.54
deny from 122.55
deny from 122.56
deny from 122.57
deny from 122.58
deny from 122.59
deny from 122.60
deny from 122.61
deny from 122.62
deny from 122.63
deny from 122.64
deny from 122.65
deny from 122.66
deny from 122.67
deny from 122.68
deny from 122.69
deny from 122.70
deny from 122.71
deny from 122.72
deny from 122.73
deny from 122.74
deny from 122.75
deny from 122.76
deny from 122.77
deny from 122.78
deny from 122.79
deny from 122.80
deny from 122.81
deny from 122.82
deny from 122.83
deny from 122.84
deny from 122.85
deny from 122.86
deny from 122.87
deny from 122.88
deny from 122.89
deny from 122.90
deny from 122.91
deny from 122.92
deny from 122.93
deny from 122.94
deny from 122.95
deny from 122.96
deny from 122.97
deny from 122.98
deny from 122.99
deny from 122.100
deny from 122.101
deny from 122.102
deny from 122.103
deny from 122.104
deny from 122.105
deny from 122.106
deny from 122.107
deny from 122.108
deny from 122.109
deny from 122.110
deny from 122.111
deny from 122.112
deny from 122.113
deny from 122.114
deny from 122.115
deny from 122.116
deny from 122.117
deny from 122.118
deny from 122.119
deny from 122.120
deny from 122.121
deny from 122.122
deny from 122.123
deny from 122.124
deny from 122.125
deny from 122.126
deny from 122.127
deny from 122.128
deny from 122.129
deny from 122.130
deny from 122.131
deny from 122.132
deny from 122.133
deny from 122.134
deny from 122.135
deny from 122.136
deny from 122.137
deny from 122.138
deny from 122.139
deny from 122.140
deny from 122.141
deny from 122.142
deny from 122.143
deny from 122.144
deny from 122.145
deny from 122.146
deny from 122.147
deny from 122.148
deny from 122.149
deny from 122.150
deny from 122.151
deny from 122.152
deny from 122.153
deny from 122.154
deny from 122.155
deny from 122.156
deny from 122.157
deny from 122.158
deny from 122.159
deny from 122.160
deny from 122.161
deny from 122.162
deny from 122.163
deny from 122.164
deny from 122.165
deny from 122.166
deny from 122.167
deny from 122.168
deny from 122.169
deny from 122.170
deny from 122.171
deny from 122.172
deny from 122.173
deny from 122.174
deny from 122.175
deny from 122.176
deny from 122.177
deny from 122.178
deny from 122.179
deny from 122.180
deny from 122.181
deny from 122.182
deny from 122.183
deny from 122.184
deny from 122.185
deny from 122.186
deny from 122.187
deny from 122.188
deny from 122.189
deny from 122.190
deny from 122.191
deny from 122.192
deny from 122.193
deny from 122.194
deny from 122.195
deny from 122.196
deny from 122.197
deny from 122.198
deny from 122.199
deny from 122.200
deny from 122.201
deny from 122.202
deny from 122.203
deny from 122.204
deny from 122.205
deny from 122.206
deny from 122.207
deny from 122.208
deny from 122.209
deny from 122.210
deny from 122.211
deny from 122.212
deny from 122.213
deny from 122.214
deny from 122.215
deny from 122.216
deny from 122.217
deny from 122.218
deny from 122.219
deny from 122.220
deny from 122.221
deny from 122.222
deny from 122.223
deny from 122.224
deny from 122.225
deny from 122.226
deny from 122.227
deny from 122.228
deny from 122.229
deny from 122.230
deny from 122.231
deny from 122.232
deny from 122.233
deny from 122.234
deny from 122.235
deny from 122.236
deny from 122.237
deny from 122.238
deny from 122.239
deny from 122.240
deny from 122.241
deny from 122.242
deny from 122.243
deny from 122.244
deny from 122.245
deny from 122.246
deny from 122.247
deny from 122.248
deny from 122.249
deny from 122.250
deny from 122.251
deny from 122.252
deny from 122.253
deny from 122.254
deny from 122.255
deny from 124.6
deny from 124.16
deny from 124.17
deny from 124.20
deny from 124.21
deny from 124.29
deny from 124.40
deny from 124.42
deny from 124.47
deny from 124.64
deny from 124.65
deny from 124.72
deny from 124.73
deny from 124.74
deny from 124.75
deny from 124.76
deny from 124.77
deny from 124.78
deny from 124.79
deny from 124.88
deny from 124.89
deny from 124.90
deny from 124.91
deny from 124.92
deny from 124.93
deny from 124.94
deny from 124.95
deny from 124.108
deny from 124.112
deny from 124.113
deny from 124.114
deny from 124.115
deny from 124.116
deny from 124.117
deny from 124.118
deny from 124.119
deny from 124.128
deny from 124.129
deny from 124.130
deny from 124.131
deny from 124.132
deny from 124.133
deny from 124.134
deny from 124.135
deny from 124.147
deny from 124.156
deny from 124.160
deny from 124.161
deny from 124.162
deny from 124.172
deny from 124.173
deny from 124.192
deny from 124.193
deny from 124.196
deny from 124.200
deny from 124.201
deny from 124.202
deny from 124.203
deny from 124.204
deny from 124.205
deny from 124.206
deny from 124.207
deny from 124.220
deny from 124.221
deny from 124.222
deny from 124.223
deny from 124.224
deny from 124.226
deny from 124.227
deny from 124.228
deny from 124.229
deny from 124.230
deny from 124.231
deny from 124.232
deny from 124.233
deny from 124.240
deny from 124.242
deny from 124.243
deny from 124.248
deny from 124.249
deny from 124.250
deny from 124.251
deny from 124.254
deny from 125.31
deny from 125.32
deny from 125.33
deny from 125.34
deny from 125.35
deny from 125.36
deny from 125.37
deny from 125.38
deny from 125.39
deny from 125.40
deny from 125.41
deny from 125.42
deny from 125.43
deny from 125.44
deny from 125.45
deny from 125.46
deny from 125.47
deny from 125.58
deny from 125.62
deny from 125.64
deny from 125.65
deny from 125.66
deny from 125.67
deny from 125.68
deny from 125.69
deny from 125.70
deny from 125.71
deny from 125.72
deny from 125.73
deny from 125.74
deny from 125.75
deny from 125.76
deny from 125.77
deny from 125.78
deny from 125.79
deny from 125.80
deny from 125.81
deny from 125.82
deny from 125.83
deny from 125.84
deny from 125.85
deny from 125.86
deny from 125.87
deny from 125.88
deny from 125.89
deny from 125.90
deny from 125.91
deny from 125.92
deny from 125.93
deny from 125.94
deny from 125.95
deny from 125.96
deny from 125.97
deny from 125.98
deny from 125.104
deny from 125.105
deny from 125.106
deny from 125.107
deny from 125.108
deny from 125.109
deny from 125.110
deny from 125.111
deny from 125.112
deny from 125.113
deny from 125.114
deny from 125.115
deny from 125.116
deny from 125.117
deny from 125.118
deny from 125.119
deny from 125.120
deny from 125.121
deny from 125.122
deny from 125.123
deny from 125.124
deny from 125.125
deny from 125.126
deny from 125.127
deny from 125.171
deny from 125.208
deny from 125.210
deny from 125.213
deny from 125.215
deny from 125.216
deny from 125.217
deny from 125.218
deny from 125.219
deny from 125.220
deny from 125.221
deny from 125.222
deny from 125.223
deny from 125.254
deny from 134.196
deny from 147.243
deny from 159.226
deny from 161.207
deny from 162.105
deny from 166.111
deny from 167.139
deny from 168.160
deny from 192.83
deny from 192.124
deny from 192.188
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 194.117
deny from 195.112
deny from 195.112
deny from 195.112
deny from 195.112
deny from 195.112
deny from 195.112
deny from 195.112
deny from 195.112
deny from 198.17
deny from 202.0
deny from 202.2
deny from 202.4
deny from 202.4
deny from 202.8
deny from 202.10
deny from 202.14
deny from 202.14
deny from 202.20
deny from 202.22
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.38
deny from 202.41
deny from 202.41
deny from 202.41
deny from 202.43
deny from 202.46
deny from 202.46
deny from 202.60
deny from 202.63
deny from 202.69
deny from 202.69
deny from 202.70
deny from 202.70
deny from 202.74
deny from 202.75
deny from 202.77
deny from 202.85
deny from 202.89
deny from 202.90
deny from 202.90
deny from 202.90
deny from 202.91
deny from 202.91
deny from 202.91
deny from 202.92
deny from 202.92
deny from 202.93
deny from 202.93
deny from 202.94
deny from 202.95
deny from 202.95
deny from 202.96
deny from 202.97
deny from 202.98
deny from 202.99
deny from 202.100
deny from 202.101
deny from 202.102
deny from 202.103
deny from 202.104
deny from 202.105
deny from 202.106
deny from 202.107
deny from 202.108
deny from 202.109
deny from 202.110
deny from 202.111
deny from 202.112
deny from 202.113
deny from 202.114
deny from 202.115
deny from 202.116
deny from 202.117
deny from 202.118
deny from 202.119
deny from 202.120
deny from 202.120
deny from 202.121
deny from 202.122
deny from 202.122
deny from 202.122
deny from 202.122
deny from 202.122
deny from 202.123
deny from 202.125
deny from 202.127
deny from 202.127
deny from 202.127
deny from 202.127
deny from 202.127
deny from 202.127
deny from 202.130
deny from 202.130
deny from 202.131
deny from 202.131
deny from 202.131
deny from 202.136
deny from 202.136
deny from 202.136
deny from 202.141
deny from 202.142
deny from 202.143
deny from 202.148
deny from 202.149
deny from 202.149
deny from 202.150
deny from 202.152
deny from 202.153
deny from 202.158
deny from 202.160
deny from 202.164
deny from 202.165
deny from 202.168
deny from 202.170
deny from 202.170
deny from 202.173
deny from 202.173
deny from 202.176
deny from 202.179
deny from 202.180
deny from 202.181
deny from 202.189
deny from 202.192
deny from 202.192
deny from 202.193
deny from 202.194
deny from 202.195
deny from 202.196
deny from 202.197
deny from 202.198
deny from 202.199
deny from 202.200
deny from 202.201
deny from 202.202
deny from 202.203
deny from 202.204
deny from 202.205
deny from 202.206
deny from 202.207
deny from 203.79
deny from 203.80
deny from 203.81
deny from 203.83
deny from 203.86
deny from 203.88
deny from 203.88
deny from 203.89
deny from 203.90
deny from 203.90
deny from 203.91
deny from 203.91
deny from 203.91
deny from 203.92
deny from 203.92
deny from 203.93
deny from 203.94
deny from 203.95
deny from 203.95
deny from 203.98
deny from 203.98
deny from 203.98
deny from 203.98
deny from 203.99
deny from 203.99
deny from 203.100
deny from 203.100
deny from 203.100
deny from 203.110
deny from 203.118
deny from 203.119
deny from 203.128
deny from 203.128
deny from 203.130
deny from 203.132
deny from 203.134
deny from 203.135
deny from 203.135
deny from 203.142
deny from 203.148
deny from 203.152
deny from 203.156
deny from 203.158
deny from 203.161
deny from 203.166
deny from 203.171
deny from 203.174
deny from 203.175
deny from 203.175
deny from 203.184
deny from 203.187
deny from 203.190
deny from 203.191
deny from 203.191
deny from 203.191
deny from 203.192
deny from 203.194
deny from 203.196
deny from 203.207
deny from 203.208
deny from 203.208
deny from 203.209
deny from 203.212
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 203.222
deny from 208.18
deny from 210.5
deny from 210.5
deny from 210.12
deny from 210.13
deny from 210.14
deny from 210.14
deny from 210.15
deny from 210.16
deny from 210.21
deny from 210.22
deny from 210.25
deny from 210.26
deny from 210.27
deny from 210.28
deny from 210.29
deny from 210.30
deny from 210.31
deny from 210.31
deny from 210.32
deny from 210.33
deny from 210.34
deny from 210.35
deny from 210.36
deny from 210.37
deny from 210.38
deny from 210.39
deny from 210.40
deny from 210.41
deny from 210.42
deny from 210.43
deny from 210.44
deny from 210.45
deny from 210.46
deny from 210.47
deny from 210.51
deny from 210.52
deny from 210.53
deny from 210.56
deny from 210.72
deny from 210.73
deny from 210.74
deny from 210.75
deny from 210.76
deny from 210.77
deny from 210.78
deny from 210.79
deny from 210.79
deny from 210.82
deny from 210.83
deny from 210.87
deny from 210.185
deny from 210.192
deny from 210.211
deny from 211.64
deny from 211.65
deny from 211.66
deny from 211.67
deny from 211.68
deny from 211.69
deny from 211.70
deny from 211.71
deny from 211.80
deny from 211.81
deny from 211.82
deny from 211.83
deny from 211.84
deny from 211.85
deny from 211.86
deny from 211.87
deny from 211.88
deny from 211.89
deny from 211.90
deny from 211.91
deny from 211.92
deny from 211.93
deny from 211.94
deny from 211.95
deny from 211.96
deny from 211.97
deny from 211.98
deny from 211.99
deny from 211.100
deny from 211.101
deny from 211.102
deny from 211.103
deny from 211.136
deny from 211.137
deny from 211.138
deny from 211.139
deny from 211.140
deny from 211.141
deny from 211.142
deny from 211.143
deny from 211.144
deny from 211.145
deny from 211.146
deny from 211.147
deny from 211.148
deny from 211.149
deny from 211.150
deny from 211.151
deny from 211.152
deny from 211.153
deny from 211.154
deny from 211.155
deny from 211.156
deny from 211.157
deny from 211.158
deny from 211.159
deny from 211.160
deny from 211.161
deny from 211.162
deny from 211.163
deny from 211.164
deny from 211.165
deny from 211.166
deny from 211.167
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.63
deny from 212.184
deny from 216.139
deny from 216.179
deny from 217.8
deny from 217.243
deny from 217.244
deny from 218.0
deny from 218.1
deny from 218.2
deny from 218.3
deny from 218.4
deny from 218.5
deny from 218.6
deny from 218.7
deny from 218.8
deny from 218.9
deny from 218.10
deny from 218.11
deny from 218.12
deny from 218.13
deny from 218.14
deny from 218.15
deny from 218.16
deny from 218.17
deny from 218.18
deny from 218.19
deny from 218.20
deny from 218.21
deny from 218.22
deny from 218.23
deny from 218.24
deny from 218.25
deny from 218.26
deny from 218.27
deny from 218.28
deny from 218.29
deny from 218.30
deny from 218.31
deny from 218.56
deny from 218.57
deny from 218.58
deny from 218.59
deny from 218.60
deny from 218.61
deny from 218.62
deny from 218.63
deny from 218.64
deny from 218.65
deny from 218.66
deny from 218.67
deny from 218.68
deny from 218.69
deny from 218.70
deny from 218.71
deny from 218.72
deny from 218.73
deny from 218.74
deny from 218.75
deny from 218.76
deny from 218.77
deny from 218.78
deny from 218.79
deny from 218.80
deny from 218.81
deny from 218.82
deny from 218.83
deny from 218.84
deny from 218.85
deny from 218.86
deny from 218.87
deny from 218.88
deny from 218.89
deny from 218.90
deny from 218.91
deny from 218.92
deny from 218.93
deny from 218.94
deny from 218.95
deny from 218.96
deny from 218.97
deny from 218.98
deny from 218.99
deny from 218.104
deny from 218.105
deny from 218.106
deny from 218.107
deny from 218.108
deny from 218.109
deny from 218.185
deny from 218.192
deny from 218.193
deny from 218.194
deny from 218.195
deny from 218.196
deny from 218.197
deny from 218.198
deny from 218.199
deny from 218.200
deny from 218.201
deny from 218.202
deny from 218.203
deny from 218.204
deny from 218.205
deny from 218.206
deny from 218.207
deny from 218.240
deny from 218.241
deny from 218.242
deny from 218.243
deny from 218.244
deny from 218.245
deny from 218.246
deny from 218.247
deny from 218.249
deny from 219.72
deny from 219.82
deny from 219.128
deny from 219.129
deny from 219.130
deny from 219.131
deny from 219.132
deny from 219.133
deny from 219.134
deny from 219.135
deny from 219.136
deny from 219.137
deny from 219.138
deny from 219.139
deny from 219.140
deny from 219.141
deny from 219.142
deny from 219.143
deny from 219.144
deny from 219.145
deny from 219.146
deny from 219.147
deny from 219.148
deny from 219.149
deny from 219.150
deny from 219.151
deny from 219.152
deny from 219.153
deny from 219.154
deny from 219.155
deny from 219.156
deny from 219.157
deny from 219.158
deny from 219.159
deny from 219.216
deny from 219.217
deny from 219.218
deny from 219.219
deny from 219.220
deny from 219.221
deny from 219.222
deny from 219.223
deny from 219.224
deny from 219.225
deny from 219.226
deny from 219.227
deny from 219.228
deny from 219.229
deny from 219.230
deny from 219.231
deny from 219.232
deny from 219.233
deny from 219.234
deny from 219.235
deny from 219.236
deny from 219.237
deny from 219.238
deny from 219.239
deny from 219.242
deny from 219.243
deny from 219.244
deny from 219.245
deny from 219.246
deny from 219.247
deny from 220.101
deny from 220.112
deny from 220.113
deny from 220.114
deny from 220.115
deny from 220.160
deny from 220.161
deny from 220.162
deny from 220.163
deny from 220.164
deny from 220.165
deny from 220.166
deny from 220.167
deny from 220.168
deny from 220.169
deny from 220.170
deny from 220.171
deny from 220.172
deny from 220.173
deny from 220.174
deny from 220.175
deny from 220.176
deny from 220.177
deny from 220.178
deny from 220.179
deny from 220.180
deny from 220.181
deny from 220.182
deny from 220.183
deny from 220.184
deny from 220.185
deny from 220.186
deny from 220.187
deny from 220.188
deny from 220.189
deny from 220.190
deny from 220.191
deny from 220.192
deny from 220.193
deny from 220.194
deny from 220.195
deny from 220.196
deny from 220.197
deny from 220.198
deny from 220.199
deny from 220.200
deny from 220.201
deny from 220.202
deny from 220.203
deny from 220.204
deny from 220.205
deny from 220.206
deny from 220.207
deny from 220.231
deny from 220.231
deny from 220.232
deny from 220.234
deny from 220.248
deny from 220.249
deny from 220.250
deny from 220.251
deny from 220.252
deny from 221.0
deny from 221.1
deny from 221.2
deny from 221.3
deny from 221.4
deny from 221.5
deny from 221.6
deny from 221.7
deny from 221.8
deny from 221.9
deny from 221.10
deny from 221.11
deny from 221.12
deny from 221.13
deny from 221.14
deny from 221.15
deny from 221.122
deny from 221.123
deny from 221.129
deny from 221.130
deny from 221.131
deny from 221.136
deny from 221.137
deny from 221.172
deny from 221.173
deny from 221.174
deny from 221.175
deny from 221.176
deny from 221.177
deny from 221.178
deny from 221.179
deny from 221.180
deny from 221.181
deny from 221.182
deny from 221.183
deny from 221.192
deny from 221.193
deny from 221.194
deny from 221.195
deny from 221.196
deny from 221.197
deny from 221.198
deny from 221.199
deny from 221.200
deny from 221.201
deny from 221.202
deny from 221.203
deny from 221.204
deny from 221.205
deny from 221.206
deny from 221.207
deny from 221.208
deny from 221.209
deny from 221.210
deny from 221.211
deny from 221.212
deny from 221.213
deny from 221.214
deny from 221.215
deny from 221.216
deny from 221.217
deny from 221.218
deny from 221.219
deny from 221.220
deny from 221.221
deny from 221.222
deny from 221.223
deny from 221.224
deny from 221.225
deny from 221.226
deny from 221.227
deny from 221.228
deny from 221.229
deny from 221.230
deny from 221.231
deny from 221.232
deny from 221.233
deny from 221.234
deny from 221.235
deny from 221.236
deny from 221.237
deny from 221.238
deny from 221.239
deny from 222.16
deny from 222.17
deny from 222.18
deny from 222.19
deny from 222.20
deny from 222.21
deny from 222.22
deny from 222.23
deny from 222.24
deny from 222.25
deny from 222.26
deny from 222.27
deny from 222.28
deny from 222.29
deny from 222.30
deny from 222.31
deny from 222.32
deny from 222.33
deny from 222.34
deny from 222.35
deny from 222.36
deny from 222.37
deny from 222.38
deny from 222.39
deny from 222.40
deny from 222.41
deny from 222.42
deny from 222.43
deny from 222.44
deny from 222.45
deny from 222.46
deny from 222.47
deny from 222.48
deny from 222.49
deny from 222.50
deny from 222.51
deny from 222.52
deny from 222.53
deny from 222.54
deny from 222.55
deny from 222.56
deny from 222.57
deny from 222.58
deny from 222.59
deny from 222.60
deny from 222.61
deny from 222.62
deny from 222.63
deny from 222.64
deny from 222.65
deny from 222.66
deny from 222.67
deny from 222.68
deny from 222.69
deny from 222.70
deny from 222.71
deny from 222.72
deny from 222.73
deny from 222.74
deny from 222.75
deny from 222.76
deny from 222.77
deny from 222.78
deny from 222.79
deny from 222.80
deny from 222.81
deny from 222.82
deny from 222.83
deny from 222.84
deny from 222.85
deny from 222.86
deny from 222.87
deny from 222.88
deny from 222.89
deny from 222.90
deny from 222.91
deny from 222.92
deny from 222.93
deny from 222.94
deny from 222.95
deny from 222.125
deny from 222.128
deny from 222.129
deny from 222.130
deny from 222.131
deny from 222.132
deny from 222.133
deny from 222.134
deny from 222.135
deny from 222.136
deny from 222.137
deny from 222.138
deny from 222.139
deny from 222.140
deny from 222.141
deny from 222.142
deny from 222.143
deny from 222.160
deny from 222.161
deny from 222.162
deny from 222.163
deny from 222.168
deny from 222.169
deny from 222.170
deny from 222.171
deny from 222.172
deny from 222.173
deny from 222.174
deny from 222.175
deny from 222.176
deny from 222.177
deny from 222.178
deny from 222.179
deny from 222.180
deny from 222.181
deny from 222.182
deny from 222.183
deny from 222.184
deny from 222.185
deny from 222.186
deny from 222.187
deny from 222.188
deny from 222.189
deny from 222.190
deny from 222.191
deny from 222.192
deny from 222.193
deny from 222.194
deny from 222.195
deny from 222.196
deny from 222.197
deny from 222.198
deny from 222.199
deny from 222.200
deny from 222.201
deny from 222.202
deny from 222.203
deny from 222.204
deny from 222.205
deny from 222.206
deny from 222.207
deny from 222.208
deny from 222.209
deny from 222.210
deny from 222.211
deny from 222.212
deny from 222.213
deny from 222.214
deny from 222.215
deny from 222.216
deny from 222.217
deny from 222.218
deny from 222.219
deny from 222.220
deny from 222.221
deny from 222.222
deny from 222.223
deny from 222.240
deny from 222.241
deny from 222.242
deny from 222.243
deny from 222.244
deny from 222.245
deny from 222.246
deny from 222.247
deny from 222.248
deny from 222.249
allow from all
</LIMIT>

2012-1-30 18:24 Monday  

今天更新了一下smarty到3.0,结果发现项目中的__autoload()不能用了,原来是因为smarty改变了autoload的方式。

解决方法如下:

function autoload($className){
    if (file_exists(SITEROOT.'include/module/'.$className.'.class.php'))
    include SITEROOT.'include/module/'.$className.'.class.php';
    else
    die('类'.$className.'文件不存在');
}
spl_autoload_register("autoload");

用上面的方式还可以依顺序同时载入几个autoload方法哦

AMP环境是用yum安装,CentOS系统,telnet memcached正常。PHP的memcache模块及socket都正常

分析后发现系统SeLinux开启,httpd只能访问443,80端口。

找到原因后就好办了,关闭SElinux就可以了。

修改/etc/selinux/config

SELINUX=disabled

重启系统或执行:

setenforce 0

搞定,泡茶或继续干活。

==========

以下介绍一下SELinux相关的工具

/usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
察看系统的状态
以下是运行输出,请参考
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Policy version: 18

以上转自http://www.82cs.com/201001/07/php_fsockopen_connect_memcached_permission-denied/

2012-1-30 18:23 Monday  
mysqlcheck -A -r -c -p
输入密码来修复就可以了
    -A    检查所有数据库中的所有表
    -c    检查表的错误
    -r    可以修复大部分问题的修复(如果不赶时间的话,可考虑-e参数代替)
    -o    优化表(如果表太大,写操作比较频繁的话,可能会花较长时间)
    -p    指定加密码
2012-1-30 18:22 Monday  

方法一,首先修改 httpd.conf 配置文件:
vi /etc/httpd/conf/httpd.conf
查找 Options Indexes FollowSymLinks,修改为 Options -Indexes。
 


 
方法二,在www 目录下的修改 .htaccess 配置文件:
加入 Options -Indexes