最近秦天SEO准备搞个类似远程监控的视频服务器,以便于出差在外,随时查看视频服务器上面拍摄的视频。在尝试了几个视频点播系统后,好不容易找到一个适合自己的系统phpvod,却在本地调试的时候出现缺少Zend Optimizer,要求下载安装,可是去官方下载后,确定安装成功,还是不行,几经摸索,终于解决PHP5.3.x缺少Zend Optimizer的问题。
Xampp安装Zend Optimizer注意项
XamppPHP5.3以上支持Zend Guard Loader
其实低版本的xampp是自带Zend Optimizer插件的,只需要在php.ini里面将“zend_optimizer.enable_loader = 0”,改为1即可。而秦天SEO用的Xampp版本一开始是1.74的,为了调试就换成了最新的1.77,看了下PHP是5.3.8的,去官网下载Zend Optimizer,发现并不支持5.3.x以后的版本。但phpvod视频点播系统网站必须要Zend才能用。看了下,zend官方的介绍,php5.3以上的版本不再支持Zend Optimizer,但是可以使用Zend Guard Loader。下载解压到任意路径,在php.ini里面最后添加如下语句即可使用:
[Zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension=“c:\php\ext\ZendLoader.dll”
如果检查是否成功添加Zend Optimizer
可是秦天SEO添加了以后发现,还是没有成功,测试是否成功方式如下:新建test.php里面输入,<?php phpinfo(); ?> ,如果出现如下图红色框里面的所示文字。
如何正确安装Zend Optimizer(Zend Guard Loader)
使用低版本的Xampp,降低PHP版本
可实际上秦天SEO并没有成功,原来PHP5.3.x版本如果想使用Zend Guard Loader,必须下载NTS的版本,而且必须是VC9编译的。这两点一定要注意,有一个不对都没法用Zend Guard Loader。
秦天SEO是直接换成1.71版本的Xampp,这个版本的php是5.2.x,这样就可以和Zend Optimizer 3.3.3配合使用了。
百度得到的消息,如果是PHP 5.2.17必须要TS版本的VC6编译的才能和Zend Optimizer 3.3.3配合。
把Xampp里面的5.3直接替换成5.2
具体可以参考这篇文章:Using XAMPP, how do i swap out PHP 5.3 for PHP 5.2?
wampserver同样如此
换成wampserver也不行。目前wampserver 2.1a多语言集成包(32位)自带的php5.3.3是VC6编译的,所以wampserver 2.1a环境是不能直接用Zend Guard Loader的。wampserver 2.1d(64位版)自带的php5.3.4是VC9编译的,但是却是TS版的,所以也不能用。wampserver 2.1e(32位)是php5.3.5的也不能使用。
PHPvc6和vc9编译版本的区别
VC6:legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9:Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
由于apache.org只提供VC6的版本,所以使用原版apache时只能使用VC6。(www.apachelounge.com上有apache VC9的版本提供,应该可以和PHP VC9配合,没用过)
PHP中ts和nts版本的区别
TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源
NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查
PHP的两种执行方式:ISAPI和FastCGI。
ISAPI(Internet Server Application Programming Interface)执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本
apache中的配置方式:
#下面这个是加载TS版本的php必须的
LoadModule php5_module “xxx/php5apache2_2.dll”
#下面这行可有可无
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
apache中的配置方式:
#下面这两行是加载NTS版本的php必须的,不可以直接写成Action application/x-httpd-php “c:/wamp/bin/php/php3.5.6/php-cgi.exe”!
ScriptAlias /php/ “C:/wamp/bin/php/php3.5.6/”
Action application/x-httpd-php “/php/php-cgi.exe”
#另外,还要有之前的AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt,这样才能认识php格式的文件
#这样配置完可能还会因为权限问题而无法用php-cgi.exe解析php网页,所以还要加上下面这段
AllowOverride None
Options None
Order allow,deny
Allow from all
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
XAMPP在http-xampp.conf中默认配置是使用ISA
写在最后
对于视频/电影服务器,一开始打算用windows media servers做,可是必须是server系统才可以安装这个组件。于是想到vod点播系统目前很成熟,于是尝试了几个php的电影程序,有搜一次cms、vodcms(秀影)、光线cms、飞飞电影程序php、qvod、远古vod、久久影音、phpvod,这样所谓的影视系统,大多大同小异,各具特色,如果你打算做个影视网站,这些网站可以考虑哦,采集很方便的说。到时候广告收入也不小啦!