Archive | Web Programming RSS feed for this section

迁移MYSQL数据

导出:

  1. shell> mysqldump -u username -p dbname > backup.sql,需要SSH登录;
  2. shell> mysqldump -h hostname -u username -p dbname > backup.sql,需要数据库支持远程连接;
  3. 用phpMyAdmin导出为文件,多数主机都有。没有的话可以自己装。

导入:

  1. shell> mysql -u username -p dbname < backup.sql,需要SSH登录;
  2. shell> mysql -h hostname -u username -p dbname < backup.sql,需要数据库支持远程连接,比较慢,但能对付大文件;
  3. 用phpMyAdmin导入。一般有文件大小限制,默认为2M。即使没有,文件大的情况下也极易超时。

直接迁移:

shell> mysqldump --opt dbname | mysql -h hostname -C dbname
很好用,最近常用。年前受了15个独立IP的诱惑,买了一份ixwebhosting的Unlimited Pro Plan。计划逐步把一些站迁过去,然后才发现ixwebhosting不支持SSH,没法直接导入数据,phpMyAdmin又只支持2M,对大文件一点办法都没有。好在经测试发现其数据库支持远程连接,这才省却一些麻烦。

额外一提的是,ixwebhosting的mysql管理面板里没有CPanel那样的连接权限管理,默认支持所有远程连接。这应该算是一个安全隐患吧。

开心餐厅自动做菜脚本

前几天晚上无聊的时候都在用手机玩开心餐厅。反反复复的去烧菜,都快强迫症了。在耗费了无数大好光阴之后,终于想起那句至理名言:磨刀不误砍柴工。于是写了两个自动做菜脚本,一个Javascript版,一个PHP版。

Javascript版开心餐厅助手

用于GreaseMonkey的javascript脚本,在此下载

用法:
在firefox里访问开心网手机版(http://wap.kaixin001.com )登录至餐厅。启用脚本,即开始自动做菜。

需要说明的是,这是一个比较简陋的仅满足自用的非通用脚本,没有设置。使用前务必先看说明。默认是每45秒刷新一次,随机做红烧茄子或炸酱面,做别的菜请参照说明自行更改——需要一点Javascript基础。

存在的问题:

偶尔网络延迟时从google载入JQuery会超时,使得脚本没运行,此时需手动刷新。

PHP版开心餐厅自动做菜脚本

部署在服务器上,用免费的WEBCRON服务每6分钟执行一次,不需要自己开机,比Javascript版的更省心,也更稳定可靠一些。但就需要自己有主机方可。

昨晚睡觉前挂上这脚本做宫保鸡丁,今早起来攒了18000多份——执行周期设错了,不然应该更多才对。升到13级后才发现原来参照的那份收益表有问题,现在按新的收益表挂着做红烧茄子。

另,godaddy的cron服务执行周期最短为1个小时,做宫保鸡丁要15分钟,红烧茄子5分钟,炸酱面3分钟,实在不敷应用。google找到一个cron服务,SETCRONJOB。免费帐号支持每5分钟执行,10天过期。收费服务可支持到1分钟,只要5-20美元每年。

开心餐厅收益表

开心网上转贴里流传着一个餐厅实用秘籍,但里边的收益表数据老旧了。google找到份新的:

Wordpress机能备忘

每次写点小插件都会想不起那些繁杂的filters到底叫些什么,此帖用于不定期记录以备忘。

Read more…

Wordpress主题berita几处修改记录

前阵子看到这篇《使用Wordpress定制企业网站》介绍的berita这个主题。界面我很喜欢,以前也确曾帮朋友用wordpress做过企业网站,于是就去下载了官方原版来用。

当然世事无完美,更没有什么主题能够完全适应各种需求。使用中发现了一些小问题,或者仅仅是不符合个人需求之处,做了一些改动,特此记录。

 

Read more…

Install — Phusion Passenger

Phusion Passenger,亦即mod_rails,可用于Apache或nginx的快速部署模块。

安装


gem install passenger
passenger-install-apache2-module

虚拟主机配置


<Virtualhost *:80>
ServerName hostname
DocumentRoot /home/muzik/workspace/appname/public/
RailsEnv development #默认为production
<Directory /home/muzik/workspace/appname/public/>
Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ErrorLog /home/muzik/workspace/appname/log/error.log
CustomLog /home/muzik/workspace/appname/log/access.log combined
</Virtualhost>

出现的问题

Missing the Rails 2.3.4 gem.

完整的错误提示:

Missing the Rails 2.3.4 gem. Please `gem install -v=2.3.4 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

事实上,需要的gem都是安装过的,只是它找不到罢了。在config/environment.rb里添加上就好了:


ENV['GEM_PATH'] = "/home/muzik/.gem/ruby/1.8:#{ENV['GEM_PATH']}"

 

rails常用插件

 

AuthLogic Plugin

  1. Authlogic
  2. Authlogic Example App


script/plugin install git://github.com/binarylogic/authlogic.git

简洁易用的分页插件Will Paginate

  1. will_paginate
  2. rdoc


gem sources -a http://gemcutter.org
gem install will_paginate
#or
script/plugin install git://github.com/mislav/will_paginate.git

用法


require "will_paginate"
@posts = Post.paginate :page =>params[:page], :order => 'created_at DESC'
<%= will_paginate @posts %>

 

只给新访客显示广告的php代码

在落伍者论坛看到一篇帖子,说“回头客多了 反而不赚钱了”。正验证了此前的建议可能是有意义的:只给通过搜索引擎进入网站的访客展示Adsense广告

事实上自去年在一个老外blog上(具体地址忘了)看到有人这么提出之后,我就一直在这么实行。具体的方法就是先检测referer,判断用户来路并设置cookie。以此作为是否显示广告的依据。
Read more…

Page 1 of 3123