php vc9 vc6,PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选

本文详细解释了PHP安装包中VC11和VC9的区别,指导用户根据系统版本、Web服务器(如Apache)及编译类型选择合适的版本,并揭示了PHP与Apache不兼容的事实及其解决策略,包括第三方打包Apache选项。

现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢?其实PHP官网给出了答案:

VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。(现在PHP已经没有VC6了)。

VC9意思就是该版本PHP是用VisualStudio2008编译的,而VC11则是用VisualStudio2012编译的。这意味着

如果你下载的是VC9版本的,就需要先安VisualC++RedistributableforVisualStudio2008SP1,

如果你下载的是VC11版本的,就需要先安VisualC++RedistributableforVisualStudio2012.

搭建php首先看操作系统的版本,如果是Windows的在这里下:http://windows.php.net/download/

操作系统是32位还是64位?如果是32位的,就选择带“x86”的版本,如果是64位的,就选择带“x64”的版本。然后看WEB服务器是什么?如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“Thread Safe”的版本。如果是Apache httpd还要看这个二进制版本是怎么编译的,有三种编译类型,分别是:VC6、VC9、VC11(分别代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。这里就有麻烦了:PHP官方的最新版本5.5已经用VC11编译,5.4是用VC9编译的。可是Apache httpd的最新版本呢,至今还是用VC6编译。这意味着一个惊人的事实:Apache httpd的官方版本和PHP的官方版本竟然是无法兼容的!那现有的Windows下的Apache+PHP是怎么搞的呢?可以自己用VC11编译Apache httpd,但这太折腾了,PHP官方建议下载第三方打包好的Apache httpd版本,推荐了这个站点:http://www.apachelounge.com/download/,需要说明一点:这个VC11不支持XP,如果你像我一样有XP怀旧症,最高只能升级到5.4.24,5.5是用VC11编译的,而VC11不支持XP和2003。

如果是Linux系的在这里下载PHP的源码:http://cn2.php.net/downloads.php

与上面Windows版不同的是,这里下载到的不能直接用,只是PHP的源码,要安装需要自己编译,要编译就需要安装gcc、make等一堆编译软件。看到文档里说./configure、make、make install,针对的就是PHP的源码版本而言。

自己编译php就更麻烦了,依赖的库一大堆,等着人掉进去的坑也有一大堆,我将在另一篇文章里说。如果嫌麻烦,可以找已经编译好的版本,具体的说就是各个发行版的官方的软件库。下面以流行的ubuntu系和centos系为例分别说明;

通达OA2010版本,完整general目录下php文件无加密,示例: <?php /*********************/ /* */ /* Version : 5.1.0 */ /* Author : RM */ /* Comment : 071223 */ /* */ /*********************/ include_once( "inc/auth.php" ); if ( $LOGIN_THEME != "10" ) { $query = "SELECT * from INTERFACE"; $cursor = exequery( $connection, $query ); if ( $ROW = mysql_fetch_array( $cursor ) ) { $IE_TITLE = $ROW[&#39;IE_TITLE&#39;]; } echo "<html>\r\n<head>\r\n<title>"; echo $IE_TITLE; echo "</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n[removed][removed]\r\n[removed]\r\nself.moveTo(0,0);\r\nself.resizeTo(screen.availWidth,screen.availHeight);\r\nself.focus();\r\n\r\nrelogin=0;\r\nfunction exit()\r\n{\r\n if(document.body.clientWidth-event.clientX<50||event.altKey||event.ctrlKey)\r\n {\r\n"; if ( $ISPIRIT == 1 ) { echo "return;"; } echo " var req = new_req();\r\n\treq.open(\"GET\", \"relogin.php\", true);\r\n\treq.send(&#39;&#39;);\r\n }\r\n}\r\n\r\n[removed]\r\n</head>\r\n"; include_once( "inc/antivirus.txt" ); echo "<frameset rows=\"50,*,20\" cols=\"*\" frameborder=\"no\" border=\"0\" framespacing=\"0\" id=\"frame1\" <frame name=\"banner\" id=\"banner\" scrolling=\"no\" noresize=\"noresize\" src=\"topbar.php\" frameborder=\"0\">\r\n <frameset rows=\"*\" cols=\"200,*\" frameborder=\"no\" border=\"0\" framespacing=\"0\" id=\"frame2\">\r\n <frame name=\"leftmenu\" id=\"leftmenu\" scrolling=\"no\" noresize=\"noresize\" src=\"ipanel\" frameborder=\"0\">\r\n <frame name=\"table_index\" id=\"table_index\" scrolling=\"no\" src=\"table.php\" frameborder=\"0\">\r\n </frameset>\r\n <frame name=\"status_bar\" id=\"status_bar\" scrolling=\"no\" noresize=\"noresize\" src=\"status_bar\" frameborder=\"0\">\r\n</frameset>\r\n</html>\r\n"; exit( ); } include_once( "inc/utility_all.php" ); include_once( "inc/td_core.php" ); include_once( "inc/chinese_date.php" ); include_once( "inc/sys_function_all.php" ); ob_end_clean( ); 本资源(仅供技术学习,版权归原公司所有)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值