为 系统Windows2003,512M内存的vps配置fastcgi+php支持,步骤如下
- 下载必要文件FastCGI扩展:http://www.iis.net/extensions/fastcgi (根据自己系统选择相应版本)
php文件包:http://windows.php.net/download这里选择下载VC9 x86 Non Thread Safe的zip压缩包,具体说明查看windows平台PHP版本选择说明
- 安装FastCGI扩展,同时将会拷贝相关到 “%windir%\system32\inetsrv”文件夹下,并注册成IIS的扩展。其中文件包括:
- fcgiext.dll – fastcgi处理程序
- fcgiext.ini – 配置文件
- fcgiconfig.js – FastCGI的控制脚本
解压php压缩包到指定目录(c:\webserver\php),并把其安装路径(c:\webserver\php)注册到系统变量PATH中,添加名为 PHPRC 值其php安装目录的系统变量
- 运行fcgiconfig.js配置脚本注册php-cgi.exe处理php文件,命令如下:
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\webserver\php\php-cgi.exe"
(fcgiconfig.js存在%windir%\system32\inetsrv目录下,为避免发生找不到脚本的错误,fcgiconfig.js可以使用其绝对路径,或进入其所在目录执行。如果想仅仅是为一个站点添加 php的处理功能可以在命令后添加 “–site:[siteId]” 参数)
修改php.ini
extension_dir="c:\webserver\php\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
配置回收php-cgi最大成功请求数
cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP"-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
其请求大小根据自己配置执行设定,但要保持InstanceMaxRequests小于或等于 PHP_FCGI_MAX_REQUESTS 。
参考:Configure the FastCGI Extension for IIS 6.0
最近在PHP官网上看到又有新版的PHP下载了,于是上去找找For Windows的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。
一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本
先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。
ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;
而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
最近在异次元软件世界网站看到这个小工具,可以让很多美女给你报时,以前也看类似网站搞这个,很有创意。据说是它们每一分钟都显示一张美女拿着时间牌拍的照片,然后每分钟都自动更新。根据一天1440分钟(24小时*60分钟)计算,每天你就能看到1千多张美女的照片了!
- 安装很简单,解压并将目录下bijintokei.Gadget文件复制到C:\Program Files\Windows Sidebar\Gadgets
- 返回桌面,右键》小工具》美女计时
下载:SkyDriver
来源:美女时钟网站与Windows侧边栏工具 (捕捉漂亮MM,让时间变得更美丽)
近来随着i18n的逐渐标准化,在 PHP 也可以利用 gettext 库写作 i18n 程序,实现 NLS(Native Language Support) 国际化支持。以下是gettext对po/mo操作的记录。
操作环境:windows7 ,程序语言:php
因为是Windows环境我们使用GNU gettext,可以进入sourceforge.net下载页面。这里我们下载完整包(Complete package, except sources)
为了方便操作,先把其安装目录下的bin目录加入到系统环境变量 path(路径)中。(步骤:我的电脑->属性->高级-点击 环境变量)
以下是被翻译源码:
<?php
echo gettext('Hello world');
$me=_("in perfect harmony;");
?>
1. 开始创建pot模板文档(默认是生产是po后缀文档,可以需手动改成pot)
打开命令行(win7需要管理员身份运行)命令如下,生成 hello.pot 模板:
xgettext -d hello -o E:\hello.pot --from-code=UTF-8 E:\hello.php
用法:xgettext [选项] [输入文件]…
从给定的输入文件中提取可翻译的字符串。
2. 生成翻译的拷贝 (这是以中文为例zh_CN,同时注意编码)
msginit -i hello.pot -l zh_CN -o my-zh_CN.po
用法:msginit [选项]
创建新的 PO 文件,即根据用户环境取值初始化文件头。
生成my-zh_CN.po完全大写的地方,就是要你(翻译者)去正确填写的部分。不同的国家(地区),不同的翻译者,填写的时候都要遵守一定的规则。而翻译工作,在填完了以上这些头部内容以后,就显得非常简单了。只要对应于 msgid”…” 中的内容,把它翻译成你(翻译者)自己的语言,写在 msgstr”" 中就行了。
3.生成二进制文件
msgfmt my-zh_CN.po -o zh_CN.mo
用法:msgfmt [选项] 文件名.po …
由文字模式描述生成二进制消息文件。
你反编译 可以使用msgunfmt zh_CN.mo -o my-zh_CN.po