标签:php

试用基于Xen的VPS(1):ubuntu+nginx+php

跟踪vps已经很久了,但是因为需要特殊端口开服务,所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房,速度还不错。 因为对系统性能要求很低,所以选择了Link-1,2.5G硬盘、64M内存、100GB流量、1个独立ip。 使用优惠码9DMM7R可以有10%的折扣,vpslink.com。当然也可以找更大折扣的优惠码,但是一般只限3个月内。 在vpslink后台安装os,选择ubuntu9.04,一分钟后系统装完了,ssh登录root。 工作1:配置web服务器 为了调试程序,支持php的web服务器还是需要的。内存太小所以抛弃了一直以来的apache,改用nginx,并且通过fast-cgi来支持php。vpslink提供了ubuntu的源镜像,速度没的说。 (1)一步到位,安装nginx和php apt-get install nginx php5-cli php5-cgi php5-mysql (2)因为需要spawn-fcgi来启动fast-cgi,所以安装lighttpd,并设置为开机不启动 apt-get install lighttpd (3)配置fast-cgi 在/etc/init.d/下建立php-cgi的服务文件,简单起见,可以直接copy nginx的来修改 cp nginx php-cgi vi php-cgi,修改对应参数 DAEMON=/usr/bin/spawn-fcgi DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi” 修改stop时的动作为:pkill -9 php-cgi 保存,退出。 (4) 配置nginx,打开php支持 vi /etc/nginx/sites-available/default index中增加index.php,并将相关php部分注释取消,注意需要修改fastcgi_param的路径 location ~ \.php$ { fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.php; fastcgi_param  SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include /etc/nginx/fastcgi_params; } (5) 启动服务 /etc/init.d/php-cgi start /etc/init.d/nginx start web服务器就配置完了。 工作2:配置squid代理服务器 这才是主要目的,要不也不用特意选择Xen的vps了。下回再说。 试用基于Xen的VPS(2):配置squid服务器

记忆力不好,但是Wikipedia很好很强大

换台电脑工作也还是件很麻烦的事情,特别是所有一切都得自己来装的时候。真后悔没把当初电脑全盘复制下来。。。 由于还是建造一套开发支持环境,沿着多年的习惯,自然还是要Apache,PHP,Mysql,Python…但是脑子里还是很清晰的记得,经过多次尝试之后,有一个AMP的套装用起来很惬意,但是搜索时候,发现脑袋里对它的名字一片空白。 既然记不起来就google吧,找到几个都不是目标,知道后来找到这里:Comparison of WAMPs,心想作为最伟大权威的资料库,这里面肯定有它的影子,果然找到了,它就是XAMPP,你说叫啥不好,非要出来一个X,最后还要加个P。 ps1:人有时候就是很贱,非要熬夜才有效率。 ps2:hygeen每周末要狂奔700mile去牛郎织女,可歌可泣,四个轮子也的确比两个轮子好。

升级WP-PostView 后MBCS错误的解决办法

WP-PostView是一个应用非常广泛的WordPress插件,现在最新版本是1.31。但是有的博客在升级WP-PostView到1.31之后,会出现如下的错误: Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-postviews/wp-postviews.php on line 260 如果你恰巧激活了WP-Email,那么错误提示则为: Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-email/wp-email.php on line 338 从作者论坛了解到,这是由于在新版的WP-PostView中使用的PHP5中的函数,如果服务器上依旧使用的是PHP4.x,则会出现这个错误。 解决的办法很简单,升级PHP4.x到PHP5.x。 如果服务器由于某种原因不能升级PHP,则需要下载老版本的WP-PostView(1.20)去覆盖。 wp-postview-1.20可以从这里下载: 本地下载

PhpSpy2008-很好用的web后门

在2008-01-07,Angel发布了PhpSpy的最新版本PhpSpy2008(这里)。 PhpSpy是一个非常好用的web后门程序,公开发行的版本只包含了有限的文件管理、MySql管理、文件上传下载、执行命令等功能。如果只是拿来自己管理用的话,也足够了。 下载地址:2008版·2006版·2005版·1.5版 本地下载:PhpSpy2008

利用phproxy建立web proxy

相信大家对下面这个画面非常的熟悉,访问某些网页的时候经常会提示说“到服务器的连接被重置”,原因大家都很清楚。 这给我们带来了一些不必要的麻烦。采用phproxy建立一个web proxy则可以在一定程度上解决这个问题。 首先介绍一下phproxy,顾名思义,它是用php写的一个web proxy程序,当前最新的版本是phproxy-0.5 beta2,更新日期是2007-1-20。值得注意的是,不要将phproxy于phpproxy(PhpProxy)混淆。PhpProxy是另外一个web proxy程序,最新程序是2.1,发布于2004年,目前没有继续更新,所以存在不少的bug。 phproxy的使用非常简单,下载,解压释放到web服务器的一个目录即可。为了防止被滥用,可以通过.htaccess来设置该目录的访问权限。 phproxy-0.5b2 相对于以前的 0.4 版本来说做了很多改进,详情可以参考软件包内文档。整个程序界面简介大方,并且提供了一些配制参数。

使用SVNManager管理使用SVN

Subversion有着非常好的特性,但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现,非常不方便。(题外:可以通过配置apache使用mysql来管理用户(mod_auth_mysql),但是用户组以及代码仓库的管理还是不方便) 所幸,我们遇到的问题就是大家遇到的问题,SVNManager就是为了解决这个问题而出现的 :) SVNManager的介绍不太复杂,但是由于一些依赖的库的关系,第一次安装确可能会遇到各种问题,而官方文档上并没有解释。下面罗列一下具体的步骤。 1.软件下载 Apache-2.0.59 PHP-5.1.2, 这里要求是5.0以上版本 PHP Pear, 这个在5.1.2中默认已经包括了,不过需要执行一个安装的步骤 VersionControl_SVN,这个可以通过pear安装 mysql or sqlite: 需要在php.ini中配置好 SvnManager-0.39 2.安装(这里为windows平台下,linux平台类似) (假设SVN以及Apache已经配置好,如果没有请参考本文底部的“相关文章”) 安装pear 安装完php-5.1.2之后(包括msi或者zip版本),在php的安装目录有go-pear.bat批处理文件,运行之。 运行完后,检查c:\windows\php.ini中是否包括这一行: include_path = “.;F:\apache\php\PEAR” 安装VersionControl_SVN,可以通过命令行来自动下载安装 pear install VersionControl 或者从网站下载后解压缩到PEAR目录 根据需要,检查php是否已经开启了mysql或者sqlite的支持 在c:\windows\php.ini查看下面两行前面的分号已经去掉: extension=php_pdo.dll extension=php_sqlite.dll或者extension=php_pdo_mysql.dll 并确保php扩展的目录制定正确: extension_dir = “F:\apache\php\ext” 可以通过phpinfo()检查是否加载成功。 安装SVNManager 上面完成之后,安装SVNManager就非常简单。 将SVNManager解压缩到网站目录,修改config.php,主要是设定htpasswd, svn, svn-admin以及svn_passwd_file等文件位置,参考注释很容易修改。 浏览器中打开SVNManager网址,之后可以使用config.php中的临时管理用户密码登录,并添加第一个管理员帐号(一定要做)。然后通过这个帐号就可以进行用户以及代码仓库的管理工作。 3. 附录 DAV svn SVNParentPath “F:/SVNData/svn” SVNListParentPath on AuthzSVNAccessFile F:/SVNData/svn_access_file Require valid-user AuthType Basic AuthName “Subversion repository” AuthUserFile F:/SVNData/svn_passwd_file