Apr 27, 2011
今天在MacBookPro上安装wordpress时,安装程序一直报错说连不上数据库。mysql客户端可以正常使用,可以确定不是服务器的问题。写了个php脚本单独执行mysql_connect(),发现错误信息居然是“No such file or directory”!这里应该没涉及到文件啊?
在网上搜了一下,找到了这篇文章:mysql_connect and No such file or directory。原来,我的apache/php是mac系统自带的,而mysql是通过MacPorts安装的,它的本地socket设置与默认的不一样,导致php无法找到mysql的socket文件。解决方法上面那篇文章也给了,这里简单翻译一下:
- 首先确定是
mysql_connect()
和mysql_pconnect()
的问题,故障现象就是函数返回空,而mysql_error()
返回“No such file or directory”。
- 写个phpinfo页面,找到
mysql.default_socket
、mysqli.default_socket
、pdo_mysql.default_socket
。
- 启动mysql,执行命令 STATUS; 记下UNIX socket的值。
- 如果2和3的值不一样,则打开php.ini(可以从phpinfo页面中找到php.ini的位置,默认是
/private/etc/php.ini
),将2中提到的三个配置项的值改成3的值。
- 重启apache。
(Read More)
Apr 18, 2011
最近在MacOS下用django框架做web开发,于是用MacPorts安装了MySQL5。
但是测试时django的测试框架会报错,原因是UTF8数据无法插入。
我们知道,MySQL安装完成后默认编码为latin1,并不适合中文应用。
因此我们通常用下面的SQL语句创建数据库:
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
而django测试框架创建测试数据库时并不会像这样指定编码,因此创建的数据库编码为latin1,
导致加载UTF8数据时就会出错。
貌似django并没有提供创建数据库时指定编码的选项,因此只能修改MySQL服务器的默认编码设置。
下面以MacPorts下的mysql5为例说一下设置方法。
(Read More)
Jul 27, 2010
上一章,我们简单介绍了PostScript语言,以及如何在Windows、Linux上
运行PostScript。PostScript是个页面描述语言,也是个编程语言。
本章将介绍PostScript的语言基础概念和图形基础概念,
为以后的几章做个铺垫。
(Read More)
Jul 25, 2010
最近由于项目需要,一直在研究PostScript语言。由于这个语言通常用在打印机上,
一般用户接触不到,因此网上的资料也十分罕见。所以,我想把这段时间的心得
整理成一篇入门文章,与大家分享,希望能对想研究打印机的朋友们有所帮助。
这篇文章计划分成七个部分,分别是:
- 基本知识(本篇)
- 基础概念
- 绘图(未完成)
- 使用颜色(未完成)
- 绘制位图(未完成)
- 文本与字体(未完成)
(Read More)
Jul 24, 2010
首先下载Ubuntu Server 10.04的光盘镜像,不到700M。然后安装。
服务安装只选了LAMP Server。
安装后的第一件事就是配置sshd-server。Ubuntu Server默认没有装sshd-server,
所以需要手动安装。
$ sudo apt-get install openssh-server
修改IP地址为固定IP。
$ sudo vi /etc/network/interfaces
...(上面省略)...
auto eth0
iface eth0 inet static
address 192.168.0.10
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
$ sudo vi /etc/resolv.conf
nameserver 192.168.0.1
$ sudo /etc/init.d/networking restart
这样就可以用putty连接了。
接下来安装webmin,方便管理。去webmin主页下载deb包,1.510版本是13.83MB。
$ sudo dpkg -i webmin_1.510-2_all.deb
会提示缺包,执行以下命令:
$ sudo apt-get -f install
安装mod_python:
$ sudo apt-get install libapache2-mod-python
(Read More)
Jul 15, 2010
以前我非常喜欢IpMsg这款著名的局域网IM软件。不过除了IM之外,我更喜欢用它作为快捷便笺使用——想记录电话号码,或是记录idea,或是给一小段文字排版时,可以随手用Ctrl-Alt-S调出,用完后直接关闭。但后来公司禁止了该软件。没办法,只好用AutoHotKey写一段脚本来实现这个功能了。
代码相当简单,就不再解释了。默认的呼叫和隐藏热键都是Ctrl-Alt-S。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; scratch pad
^!s::
IfWinActive, Scratch Pad
{
Gui, Hide
}
Else
{
If scrachPadCreated <> 1
{
Gui, +AlwaysOnTop -MinimizeBox -MaximizeBox
Gui, Margin, 0, 0
Gui, Font, s11, MS ゴシック
Gui, Add, Edit, W400 H300
scrachPadCreated := 1
}
Gui, Show, , Scratch Pad
}
(Read More)
Jul 8, 2010
关于一键恢复,网上有很多讨论,也有很多成品,
不过大多数都是基于Ghost实现的,而Ghost是个商业软件,喜欢用开源的人可能比较难于接受吧。
此外,这种一键恢复虽然很容易使用,但可定制性也比较差。所以我考虑使用CloneZilla
来制作一个紧急恢复分区,用来备份/还原系统。
为什么用CloneZilla呢?理由如下:
- 它是开源软件。
- 备份形式灵活,可以选择备份分区或整个硬盘,可以选择备份到本地硬盘,也可以备份到网络。
- 自带的Linux系统可以用作系统维护。
CloneZilla的使用方法就不多说了,自带的中文文档中有极其详尽的截图说明。
另外,制作紧急恢复分区,只有CloneZilla是不够的,还得要grub4dos的帮助。
我的操作系统是Windows XP,硬盘分区默认都是NTFS。下面开始动手吧。
(Read More)
Jun 24, 2010
系统是HP-UX B.11.31,打印机是HP LaserJet 5100。安装步骤简单描述如下:
安装HP JetDirect Printer Installer for UNIX
# /usr/sbin/swsintall –s /var/tmp/hp11e134.sd J4189-11001C
验证安装是否成功:
# /usr/sbin/swlist -l product J4189-11001C
# Initializing...
# Contacting target "systemname"...
#
# Target: systemname:/
#
# J4189-11001C E.10.34 Hewlett-Packard JetDirect Printer Installer for Unix
J4189-11001C.HPNPL E.10.34 Hewlett-Packard JetDirect Printer Installer for Unix
(Read More)
Mar 31, 2010
vim是我最喜欢的编辑器,连写邮件都离不开它,所以一直用Thunderbird 2.0 + External Editor插件 + vim这一套组合来写邮件。最近又装了Google日文输入法,可惜它跟vim的兼容性不太好,经常在汉字变换时导致vim异常退出,而写了一半的邮件也就化为泡影了。于是想,如果vim能自动保存就好了。今天研究了一下帮助文件,发现还真能实现类似自动保存的功能。
方法很简单,只需在 $VIM/vimfiles/ftplugin/mail.vim 中加入这样一行:
au InsertLeave *.eml write
该行的意思是:针对所有.eml文件,在退出编辑模式(InsertLeave)时,自动执行write命令。这样就能在每次按Esc键时自动保存了。
顺便贴一下其他有用的配置:
set encoding=utf8
set guifont=MS_ゴシック:h10:cSHIFTJIS
set tw=140 " 140字符自动换行
set et " expandtab,用空格代替Tab键
retab " 打开vim时把已有的Tab全部转换成空格
au InsertLeave *.eml write " 每次退出插入模式时自动保存
(Read More)
Feb 26, 2010
在VMWare中运行一些Linux上的软件如vi,出错时PC喇叭会不停地叫,很烦人。
其实只要在 C:\Documents and Settings\用户名\Application Data\VMware\config.ini (如不存在请自行建立)中加入这样一行:
就可以从虚拟硬件上关闭VMWare的PC喇叭。
我用的VMware是 VMware Workstation 5.5.1版。
(Read More)