Hacder's Lab
哥德疯了


wordpress通过 sftp 自动升级:给 PHP 支持 SSH2

January 11th, 2011 . by hacder

最近刚换了服务器,由于新的环境没有ftp,不能直接给wp自动升级或者安装、升级插件。
看了下wp的代码,应该是支持ssh直接升级的。

默认的php是不支持ssh的,需要自己重新编译。

一、在centsos上面给php 加上 ssh2 支持:

1。 安装 libssh2

  1. wget http://www.libssh2.org/download/libssh2-1.2.2.tar.gz
  2. tar -zxf libssh2-1.2.2.tar.gz
  3. cd libssh2-1.2.2
  4. ./configure
  5. make & make install

2. 编译安装 PECL的SSH2支持代码包

  1. wget http://pecl.php.net/get/ssh2
  2. tar xvzf ssh2-0.11.2.tgz
  3. cd ssh2-0.11.2
  4. /opt/server/php/bin/phpize
  5. ./configure --with-php-config=/opt/server/php/bin/php-config
  6. make & make install

3. 将ssh2.so 添加到php。ini里面:

  1. # vi /etc/php.ini
  2. extension_dir = "/opt/server/php/lib/php/extensions/no-debug-non-zts-20060613/"
  3. extension = ssh2.so

4. 检查是否已经安装:

  1. php -i|grep ssh2

or 通过

  1. phpinfo();

二、ubuntu:

  1. apt-get install libssh2-php

PS:   另外,在代码中发现,wordpress只有在没有权限的时候才会要求ftp或者ssh,也就是运行当前php进程(php-cgi 或者apache)的用户 对当前站点没有权限的时候,才会需要,如果当前站点的文件、目录权限跟当前php进程一样的话(或者给当前战站点的所有目录文件给777的权限),就可以直接更新,不用输入ftp的密码 。在这方面,wordpress还是做得很人性化的。



原创文章如转载,请注明:转载自 Hacder's Lab [ http://www.hacder.com ]
本文链接地址:http://www.hacder.com/archives/999.html

Leave a Reply

You must be logged in to post a comment.