fedora 14 下linux内核模块命令运行出错:安装软件包“module-init-tools”以提供命令“lsmod”? 事务失败: all-packages-already-installed, The packages are already all installed

fedora 14 下运行linux内核模块命令lsmod,出错,说没有该命令,需要安装,但运行安装命令又说命令已经安装,但lsmod就是还不能运行,如下:
command not found...
安装软件包“module-init-tools”以提供命令“lsmod”? [N/y] {输入y回车}
* 正在运行.. 事务失败: all-packages-already-installed, The packages are already all installed
yum install安装,提示说已经安装,于是yum reinstall,重新覆盖安装,得以解决。不过fedora14里,好像安装上的module-init-tools是fedora13版本里的包module-init-tools-3.11.1-2.fc13.i686 这并不影响使用

[root@fsc feng]# yum reinstall module-init-tools

----------------------------------------------------
以下是命令行输出,仅作参考

[root@fsc feng]# lsmod |grep 8169
bash: lsmod: command not found...
[root@fsc feng]# lsmod
bash: lsmod: command not found...
安装软件包“module-init-tools”以提供命令“lsmod”? [N/y]
* 正在运行.. 事务失败: all-packages-already-installed, The packages are already all installed

[root@fsc feng]# lsmod
bash: lsmod: command not found...
安装软件包“module-init-tools”以提供命令“lsmod”? [N/y]
* 正在运行.. 事务失败: all-packages-already-installed, The packages are already all installed

[root@fsc feng]# whereis lsmod
lsmod: /sbin/lsmod /usr/share/man/man8/lsmod.8.gz
[root@fsc feng]# yum install module-init-tools
已加载插件:langpacks, presto, refresh-packagekit
Adding zh_CN to language list
设置安装进程
包 module-init-tools-3.11.1-2.fc13.i686 已安装并且是最新版本
无须任何处理
[root@fsc feng]# yum reinstall module-init-tools
已加载插件:langpacks, presto, refresh-packagekit
Adding zh_CN to language list
设置覆盖安装进程
解决依赖关系
--> 执行事务检查
---> 软件包 module-init-tools.i686 0:3.11.1-2.fc13 将被 reinstalled
--> 完成依赖关系计算

依赖关系解决

================================================================================
软件包 架构 版本 仓库 大小
================================================================================
Reinstalling:
module-init-tools i686 3.11.1-2.fc13 fedora 412 k

事务概要
================================================================================
Reinstall 1 Package(s)

总下载量:412 k
Installed size: 939 k
确定吗?[y/N]:y
下载软件包:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 412 k
module-init-tools-3.11.1-2.fc13.i686.rpm | 412 kB 00:07
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
正在安装 : module-init-tools-3.11.1-2.fc13.i686 1/1

已安装:
module-init-tools.i686 0:3.11.1-2.fc13

完毕!
[root@fsc feng]# lsmod
Module Size Used by
vfat 6758 1
fat 38062 1 vfat
fuse 51544 9
ebtable_nat 1431 0
ebtables 12142 1 ebtable_nat
ipt_MASQUERADE 1765 3
iptable_nat 3945 1
nf_nat 16298 2 ipt_MASQUERADE,iptable_nat
bridge 57131 0
stp 1438 1 bridge
llc 3754 2 bridge,stp
deflate 1543 0
zlib_deflate 16199 1 deflate
ctr 2953 0
camellia 17759 0
cast5 15276 0
rmd160 6136 0
crypto_null 2142 0
ccm 6285 0
serpent 18049 0
blowfish 7246 0
twofish 5395 0
twofish_common 12658 1 twofish
xcbc 1991 0
cbc 2161 0
sha256_generic 11347 0
sha512_generic 6638 0
des_generic 15895 0
aes_i586 7138 0
geode_aes 4245 0
aes_generic 26460 1 aes_i586
ah6 4471 0
ah4 3939 0
esp6 3905 0
esp4 4104 0
xfrm4_mode_beet 1610 0
xfrm4_tunnel 1439 0
tunnel4 2005 1 xfrm4_tunnel
xfrm4_mode_tunnel 1418 0
xfrm4_mode_transport 981 0
xfrm6_mode_transport 1013 0
xfrm6_mode_ro 858 0
xfrm6_mode_beet 1423 0
xfrm6_mode_tunnel 1455 0
ipcomp 1585 0
ipcomp6 1602 0
xfrm_ipcomp 3353 2 ipcomp,ipcomp6
xfrm6_tunnel 3145 1 ipcomp6
tunnel6 1880 1 xfrm6_tunnel
af_key 22999 0
vmnet 35410 13
ppdev 6808 0
parport_pc 17897 0
parport 26215 2 ppdev,parport_pc
vmblock 9826 1
vsock 31975 0
vmci 45322 1 vsock
vmmon 58828 0
cpufreq_ondemand 7262 2
acpi_cpufreq 6285 0
mperf 1141 1 acpi_cpufreq
capi 10620 0
capifs 2374 2 capi
kernelcapi 28157 1 capi
ip6t_REJECT 3470 2
nf_conntrack_ipv6 14441 2
ip6table_filter 1207 1
ip6_tables 9929 1 ip6table_filter
ipv6 229581 45 ah6,esp6,xfrm6_mode_beet,xfrm6_mode_tunnel,ipcomp6,xfrm6_tunnel,tunnel6,ip6t_REJECT,nf_conntrack_ipv6
uinput 5228 0
snd_hda_codec_si3054 2988 1
snd_hda_codec_analog 53890 1
snd_hda_intel 20127 2
arc4 1085 2
snd_hda_codec 71701 3 snd_hda_codec_si3054,snd_hda_codec_analog,snd_hda_intel
snd_hwdep 4795 1 snd_hda_codec
ecb 1595 2
snd_seq 43447 0
snd_seq_device 5056 1 snd_seq
snd_pcm 61769 3 snd_hda_codec_si3054,snd_hda_intel,snd_hda_codec
gspca_vc032x 24940 0
gspca_main 19038 1 gspca_vc032x
r8169 31809 0
ath5k 143237 0
videodev 54469 1 gspca_main
snd_timer 15435 2 snd_seq,snd_pcm
snd 47365 13 snd_hda_codec_si3054,snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
v4l1_compat 11390 1 videodev
mac80211 188648 1 ath5k
asus_laptop 12297 0
iTCO_wdt 8960 0
soundcore 5088 1 snd
iTCO_vendor_support 2070 1 iTCO_wdt
ath 7145 1 ath5k
snd_page_alloc 6180 2 snd_hda_intel,snd_pcm
cfg80211 110951 3 ath5k,mac80211,ath
r852 8298 0
sparse_keymap 2472 1 asus_laptop
serio_raw 3589 0
joydev 7306 0
mii 3578 1 r8169
sm_common 3104 1 r852
nand 28994 2 r852,sm_common
nand_ids 2730 1 nand
nand_ecc 3460 1 nand
mtd 15282 2 sm_common,nand
rfkill 13652 3 asus_laptop,cfg80211
microcode 11139 0
irda 87797 0
crc_ccitt 1237 1 irda
sdhci_pci 6246 0
sdhci 15685 1 sdhci_pci
firewire_ohci 17697 0
mmc_core 53202 1 sdhci
firewire_core 37873 1 firewire_ohci
crc_itu_t 1235 1 firewire_core
video 17730 0
output 1625 1 video
usb_storage 35519 0
radeon 556900 2
ttm 45014 1 radeon
drm_kms_helper 22278 1 radeon
drm 139288 4 radeon,ttm,drm_kms_helper
i2c_algo_bit 4197 1 radeon
i2c_core 21328 5 videodev,radeon,drm_kms_helper,drm,i2c_algo_bit
[root@fsc feng]# yum update module-init-tools
已加载插件:langpacks, presto, refresh-packagekit
Adding zh_CN to language list
设置更新进程
不升级任何软件包
[root@fsc feng]# modls |grep 8169
bash: modls: command not found...
[root@fsc feng]# lsmod |grep 8169
r8169 31809 0
mii 3578 1 r8169
[root@fsc feng]# modinfo r8169
filename: /lib/modules/2.6.35.10-74.fc14.i686/kernel/drivers/net/r8169.ko
version: 2.3LK-NAPI
license: GPL
description: RealTek RTL-8169 Gigabit Ethernet driver
author: Realtek and the Linux r8169 crew
srcversion: 922AC21C384AA7EE2321FEF
alias: pci:v00000001d00008168sv*sd00002410bc*sc*i*
alias: pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias: pci:v000016ECd00000116sv*sd*bc*sc*i*
alias: pci:v00001259d0000C107sv*sd*bc*sc*i*
alias: pci:v00001186d00004300sv*sd*bc*sc*i*
alias: pci:v000010ECd00008169sv*sd*bc*sc*i*
alias: pci:v000010ECd00008168sv*sd*bc*sc*i*
alias: pci:v000010ECd00008167sv*sd*bc*sc*i*
alias: pci:v000010ECd00008136sv*sd*bc*sc*i*
alias: pci:v000010ECd00008129sv*sd*bc*sc*i*
depends: mii
vermagic: 2.6.35.10-74.fc14.i686 SMP mod_unload 686
parm: rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int)
parm: use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int)
parm: debug:Debug verbosity level (0=none, ..., 16=all) (int)
[root@fsc feng]#

关于“linux与windows”的帖子的一条回复

一次论坛回帖,当时感觉还有点意思,就复制在这里了。


2:更加人性化的界面设计,完善并简化3D功能(不是说复杂就是好,能用就行了,不要太花俏,搞得经常和软件或系统文件冲突就没必要了)
——linux的图型化界面以前比win差距不少,现在已经好多了,某些地方已经超越windows了;然而命令才是深入应用精准操作的本质

3:更合理的软件添加删除机制,傻瓜式的安装和操作才是时代发展的正确道路。是人用电脑不是电脑玩人
——yum,apt-get足够方便吧,连下载跟安装一步搞定,还防止下载到骗子软件

4:更精简的系统(现在的系统大多数都非常不精简,里面大多包括了NNNN基本不会用到的驱动和软件),如果能完全去掉这些,然后支持自由选择下载安装,那会更好。在这里也不得不提一下3D桌面
——linux驱动在内核里(或者内核模块里),如果有兴趣完全可以依照喜好与需要有选择的编译模块

5: 更好的错误修正机制(经常,有一点错误就是进不到系统,在底白字的类DOS界面不知所措。经常,一些软件的冲突,直接导致整个桌面系统的白屏。经常,一些 不知名的错误,导致了各种不知名的问题出现。有时,只不过小小的改一下config文件就能解决的鸡毛蒜皮错误,也直接进不到图形界面。这一切,都是失去 用户的基本问题)
当然第五点是最重要的,一个系统,不可能永远没有错误,关键是出现错误之后,修复错误的难易程度和几率。这一点,似乎还没有人提出过。
——稳定版一般很少现这种问题,当然不是不存在,出类似问题时,linux的表现确实与普通用户距离远了一点(出错消息太专业,一般人看了不知所措),这点需要进一步加强。

原帖地址 http://softbbs.pconline.com.cn/9457919_-1.html#post_94127846

海峰五笔 支持linux了/fedora14下已经成功安装

海线峰五笔 linux版/fedora14

海线峰五笔 linux版/fedora14

海峰五笔 支持linux了!

fedora14正式版正式发布已经有一段时间了,但是没有安装,直到昨天晚上很晚。今天使用时才发现没有五笔,于是安装,yum list查询五笔的包名,

[root@fsc /]# yum list *wubi*
已加载插件:langpacks, presto, refresh-packagekit
Adding zh_CN to language list
可安装的软件包
ibus-table-chinese-wubi-haifeng.noarch 1.3.0.20101206-1.fc14 updates
ibus-table-chinese-wubi-jidian.noarch 1.3.0.20101206-1.fc14 updates
scim-python-xingma-wubi.i686 0.1.13rc1-7.fc14 fedora

这不是一直以来很希望移植到linux里的海峰五笔吗!马上安装

[root@fsc /]# yum install ibus-table-chinese-wubi-haifeng.noarch

非常顺利,成功安装!

在此向海峰五笔及linux移植人员深表感激致敬,更向自由软件与自由精神致敬!!!

linux直接以复制文件的方式更换安装所在的硬盘

环境:fedora13 linux,普通笔记本电脑,320G硬盘

学习linux,对linux的文件系统、启动过程有所初步了解。

今天买了一块500G 7200rpm的硬盘,自己拆机换上去,当然还要装系统。新硬盘就把windows放到次要位置上了,为了尽量保持系统配置,最好的方式就是直接把所有文件,复制到新硬盘上,如果能正常启动linux,那就是最好的方案了。还省了重新安装系统、再配置使用习惯的麻烦。至于windows,之前没有直接复制文件成功的尝试(曾经从虚拟机里复制文件到硬盘上,但启动中蓝屏死机),但使用ghost备份还原的方式应该可以完美转移。

linux启动主要靠loader(一般是grub)加载内核,然后就是加载其它驱动配置文件之类,主要就是loader要安装在硬盘启动的位置,直接复制文件应该没有问题,网上查询,也有类似的说法。

这里面有两点需要注意:复制文件,需要连同文件权限一并复制,就是cp -pr xxx yyy (参考p,即是带权限复制);分区配置,/etc/fstab文件里,还有grub/menu.lst文件,都需要按新硬盘的分区进行设置。

fedora 13 linux转移硬盘实际操作(部分细节隐去)过程:

  1. 规划新硬盘分区方案
  2. 把硬盘安装到移动硬盘盒里,接到笔记本上,使用linux下的fdisk分区,并设置分区类型.
  3. 使用mkfs格式化linux分区
  4. 对就新硬盘分区与原有硬盘分区,把硬盘原文件,复制到新硬盘上。
  5. 使用linux安装光盘安装一个grub到新硬盘,/boot。
  6. 查看硬盘uuid(借助blkid)查看分区uuid,对/etc/fstab做相应修改;修改grub/menu.lst
  7. 拆机,用新硬盘把原硬盘换掉,重启。

如果顺利的话,基本上可以正常启动。否则就仔细查看错误消息,解决出现错误。

php 运算符优先级:算术运算与字符连接运算同级

$sql="delete from `log_view` where `dz_uid`={$dz_uid} and `time`>".$today_unixtime-86400;

$sql="delete from `log_view` where `dz_uid`={$dz_uid} and `time`>".($today_unixtime-86400);

这两个语句的结果是完全不一样的。

手册时说:"左联表示表达式从左向右求值,右联相反",差点杯具了~~

------------php手册里的原话------------------------

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

表格 15-1. 运算符优先级

结合方向 运算符 附加信息
非结合 new new
[ array()
非结合 ++ -- 递增/递减运算符
非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型
* / % 算数运算符
+ - . 算数运算符和字符串运算符
<< >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

左联表示表达式从左向右求值,右联相反。

fedora linux apache/php下安装配置xdebug

核心内容:

在fedora13下从源码编译安装xdebug; 如果仅仅需要在linux/fedora13,14下安装xdebug,请参看本文,直接下载二进制文件并安装使用 fedora linux下php调试利器xdebug 2.1.0下载/fedora13,14测试通过

环境:fedora13 apache2.2 php5.3.1

首先从xdebug官方网站下载得xdebug最新稳定版的源码,解压缩,查看其中的README文档。

文档里说得很清楚,需要有phpize与php-config,apache与php都是通过fedora yum安装的,通过whereis 命令查找,及在php目录里都没有找到这样的两个文件,于是yum provides */phpize

[root@fsc xdebug-2.1.0]# yum provides */phpize
已加载插件:presto, refresh-packagekit
php-devel-5.3.1-3.fc13.i686 : Files needed for building PHP extensions
Repo        : fedora
匹配来自于:
Filename    : /usr/bin/phpize

php-devel-5.3.3-1.fc13.i686 : Files needed for building PHP extensions
Repo        : updates
匹配来自于:
Filename    : /usr/bin/phpize

phpize就在包php-devel-5.3.1-3.fc13.i686里(同样方式查询yum provides */php-config,也在php-devel包里),yum安装php-devel就可以了,如下

yum install php-devel

参考xdebug的README,进入解压缩后的xdebug目录里,执行phpize,看到几行信息输出;

下一步,

./configure --enable-xdebug

运行正常,next ,就是最常见的make

make

花费时间长一点,好几分钟,让它自己编译,干点别的。完成后看make输出的最后一行说什么donot forget run 'make test'(本文是根据回忆写的,可能有不准确之处),运行一下,好像有警告信息,不管它,官方文档里没有这一步,可能只是为了检查运行完全正确,忽略它。

下一步复制xdebug.so到php扩展目录。先要查看php的扩展模块在哪个目录里,我使用一个简单的php程序<?php phpinfo();?>查看配置信息,

得知是/usr/lib/php/modules目录,

[root@fsc xdebug-2.1.0]# cp modules/xdebug.so /usr/lib/php/modules/

建一个文件/etc/php.d/xdebug.ini内容如下

zend_extension=/usr/lib/php/modules/xdebug.so
[Xdebug]
xdebug.profiler_enable=on
/etc/php.d/xdebug.ini

(这部分也完全可以放到php.ini文件里,放到php.d目录里,是为了配置文件相互独立,管理方便)

安装完毕,优雅重启apache

[root@fsc xdebug-2.1.0]# /etc/init.d/httpd graceful

再运行phpinfo,其中有如下部分

xdebug加载运行正常。

php错误消息显示默认是以text文本形式显示的,xdebug显示调试信息时,信息量一般都比较大,最好打开php的html_errors,这样可以显示更友好的调试信息。可以在/etc/php.d/xdebug.ini里面加入下面一行

html_errors=on

当然也可以加入到php.ini文件里。

[附] xdebug 2.1.0 源码里的README文档摘选

--------------------README 文档节选-----------------------------------------------------------------

XDEBUG

------

You need to compile Xdebug separately from the rest of PHP.  Note, however,
that you need access to the scripts "phpize" and "php-config".  If your
system does not have "phpize" and "php-config", you will need to compile
and install PHP from a source tarball first, as these script are
by-products of the PHP compilation and installation processes. It is
important that the source version matches the installed version as there
are slight, but important, differences between PHP versions.

Once you have access to "phpize" and "php-config", do the following:

1. Unpack the tarball: tar -xzf xdebug-2.1.x.tgz.  Note that you do
not need to unpack the tarball inside the PHP source code tree.
Xdebug is compiled separately, all by itself, as stated above.

2. cd xdebug-2.1.x

3. Run phpize: phpize
(or /path/to/phpize if phpize is not in your path).

4. ./configure --enable-xdebug (or: ../configure --enable-xdebug
--with-php-config=/path/to/php-config if php-config is not in your
path)

5. Run: make

6. cp modules/xdebug.so /to/wherever/you/want/it

7. add the following line to php.ini:
zend_extension="/wherever/you/put/it/xdebug.so"

8. Restart your webserver.

9. Write a PHP page that calls "phpinfo();" Load it in a browser and
look for the info on the xdebug module.  If you see it, you have been
successful!

--------------------END of README 文档节选-----------------------------------------------------------------

现在的linux内核编译太简单了:linux kernel2.6.36.2编译手记

先show一下新内核:

[feng@fsc ~]$ uname -a
Linux fsc 2.6.36.2fsc #2 SMP Mon Dec 13 21:02:02 CST 2010 i686 i686 i386 GNU/Linux

硬件环境:asus A8jr 笔记本 (07年的机器,比较老了)

cpu core1 2250GHz
RAM 3G ddr2 667
VGA ATI x2300
......

背景:使用fedora13(fedora14已经正式版发布,但没有升级),但内核还是2.6.31,从fedora12里的rpm包安装的;因为2.6.33以后的内核与电脑不兼容,启动后就花屏,跟电视机屏幕的“雪花”一样,所以从fedora12里释放出内核并安装。fedora13在线yum升级后,还切换回2.6.31内核。

kernel 2.6.36.2正式发布了,比较无聊,于是wget下载内核源码,学习编译内核;以前编译过,但并不很成功。学习鸟哥linux私房菜里的内核编译,写得很详细,基本上是照着里面一步一步来的。这次准备摸索一下。

首先当然是要make menuconfig,选择模块。然后make 没有带参数,花费时间很长,睡觉。

今天早上醒来,make install,然而出错了,消息大致是有什么依赖错误,可能是哪里有不对吧。于是关机(休眠),上班。

晚上回来,启动电脑,发现grub里启动项多了一个,就是新编译的2.6.36.2,居然可以启动系统,只是驱动不太对,没有网络,无线有线都没有;lsmod查看加载的模块,结果一个都没有,大概是驱动没有加载,或者是没有编译出来。为了保险起见,重新配置,添加了很多驱动。回忆之前看鸟哥的文章,make all,这样最简单,看make help里指明,它将编译

* vmlinux      - Build the bare kernel
* modules      - Build all modules
* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)

三项,花费时间还是比较长;然后make install,重启,还是没有加载上驱动,看说明,才知道,make install并不安装内核模拟,于是make modules_install;重启。本来做好了面对“花屏”,然而没有。果然,网络正常,无线自动连上,可以正常上网。

之前看鸟哥文章里讲的,要手工复制内核到/boot,还要手工编译initrd文件,再手工修改grub.conf,很是复杂。这次编译内核,完全是出乎意料,所有这些都没做,只是简单的执行了几个命令,所有这些都自动完成了。这大概也就是“易用”吧。不过还是有点问题,linux启动中,vmware的几个服务,还是启动失败,原因没有查,可能按现在的水平还很难找到原因。

一点经验,linux其实很容易,甚至比windows更容易,当然不是在像傻瓜操作的那些方面。

最后,希望看过这篇文章或没有看到这篇文章的朋友们,都能真正爱上linux,能随心所欲使用它提高工作生活学习效率,have fun!

PHP+MSSQL TEXT字段被截断的解决方案

在连接mssql 数据库前,先执行如下php代码,对mssql库的textlimit进行运行时改变设置。

ini_set('mssql.textlimit',4294967296);
ini_set('mssql.textsize',4294967296);

4294967296=65536^2  ,对于大多数情况,这个长度已经足够用了;如果text字段最大长度比4294967296还大,那就自己把这个值改得更大一点.

可以通过php函数 phpinfo() 查看是否修改成功。

修改前phpinfo()结果中mssql节如下

------------xx----------xx------------xx-------------xx------------xx----------xx--------

以下内容转自 http://blog.csdn.net/ice1976/archive/2008/10/30/3185987.aspx ,供参考

/*
* 版权归PHPSalon.com所有
*
* Author: Wenlong Wu
*/

在CSDN的PHP版里老是看到有人问TEXT字段被截断的问题,偶也回答了无数次,今天索性就总结一下吧:

一、针对MS SQL SERVER数据库

有两种解决方案,如下:

* 修改php.ini来实现:

打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:

; Valid range 0 - 2147483647. Default = 4096.

;mssql.textlimit = 4096

; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096

可以看到默认配置为4096字节,也就是经常碰到的被截断为4K,将之改为合适的大小,去掉前面的分号,然后保存并重起WEB服务器即可。

从上面两个选项可看到范围为:0 - 2147483647字节,其实-1也可以的,查看一下PHP源代码即可发现-1表示无限制 :)

if (MS_SQL_G(textlimit) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
}
}
if (MS_SQL_G(textsize) != -1) {
sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize));
dbcmd(mssql.link, buffer);
dbsqlexec(mssql.link);
dbresults(mssql.link);
}

* 在PHP中查询之前执行SET TEXTSIZE 合适的大小:

只需在SELECT之前执行

mssql_query("SET TEXTSIZE 65536");

从上面PHP源代码中可看到其实也是执行SET TEXTSIZE的 :)

二、针对Sybase数据库

由于该扩展在php.ini没有像SQL SERVER那样的选项可配置,所以只有采用上面的第二种方法,即:

在SELECT之前执行

sybase_query("SET TEXTSIZE 65536");

9月24日补充:
有不少朋友可能也碰到过使用varchar类型的字段时,只返回256个字符的问题。
其实这也不是PHP的BUG,而是微软提供的客户端即library限制了而已。
弥补方法是转为TEXT字段,或者采用SQL转,如下:
SELECT CAST(myfield AS TEXT) AS myfield FROM table

 

WordPress 3.0.3 发布,大概是最密集的一次更新了

刚才登录wordpress后台,又一个更新,原来是WordPress 3.0.3 发布了,不久前WordPress 3.0.2 才发布,好像刚一周时间就升级了。

这么密集的软件更新,一般说都是修正安全漏洞的,看升级日志,果然是,e文不好,看得不甚明白,于是google一个,至少已经有好中文几个网站发布了这则消息,开源中国社区上的消息:

WordPress 3.0.3 是一个安全问题更新版本,修复了远程发布接口的bug,该接口可能在某些情况下允许发布者随意的发布、修改和删除文章。这个问题仅仅对于启用远程发布接口时才会存在。

可从这里下载该版本或者通过面板的更新功能进行自动升级。

from  http://www.oschina.net/news/13656/wordpress-3-0-3

wp启用了远程更新,当然是一定要升级的,尽管还没有中文版出来,但这样的安全更新,语言包应该没有多少改变的。

windows里也有类似linux里grep的命令行工具:FINDSTR,只是实在太小儿科

突然发现,windows里也有类似linux里grep的命令行工具:FINDSTR,只是实在比较小儿科

今天看到这篇文章,才发现的

http://myeblog.3322.org/1086.html

看看微软给的官方文档:

在文件中寻找字符串。

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]

/B         在一行的开始配对模式。
/E         在一行的结尾配对模式。
/L         按字使用搜索字符串。
/R         将搜索字符串作为一般表达式使用。
/S         在当前目录和所有子目录中搜索匹配文件。
/I         指定搜索不分大小写。
/X         打印完全匹配的行。
/V         只打印不包含匹配的行。
/N         在匹配的每行前打印行数。
/M         如果文件含有匹配项,只打印其文件名。
/O         在每个匹配行前打印字符偏移量。
/P         忽略有不可打印字符的文件。
/OFF[LINE] 不跳过带有脱机属性集的文件。
/A:attr    指定有十六进位数字的颜色属性。请见 "color /?"
/F:file    从指定文件读文件列表 (/ 代表控制台)。
/C:string  使用指定字符串作为文字搜索字符串。
/G:file    从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir     查找以分号为分隔符的目录列表
strings    要查找的文字。
[drive:][path]filename
指定要查找的文件。

除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
"there"。'FINDSTR /C:"hello there" x.y' 文件 x.y  寻找
"hello there"。

一般表达式的快速参考:
.        通配符: 任何字符
*        重复: 以前字符或类别出现零或零以上次数
^        行位置: 行的开始
$        行位置: 行的终点
[class]  字符类别: 任何在字符集中的字符
[^class] 补字符类别: 任何不在字符集中的字符
[x-y]    范围: 在指定范围内的任何字符
\x       Escape: 元字符 x 的文字用法
\<xyz    字位置: 字的开始
xyz\>    字位置: 字的结束

有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。

功能比grep差多了,然而简单的截取功能也就差不多了,毕竟是微软的windows,不要指望它有多强的功能(命令行功能?)