欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

[ 转]PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思

程序员文章站 2022-04-09 10:28:21
...

PHP 中 VC6 X86 和 VC9 X86 的区别及 NonThread Safe 的意思 PHP 现在推出 5.3.0 版本了,不过下载的时候有几个不同版本选择。那就是 VC6 X86 和 VC9 X86 。 首先我来解答 : VC6 是什么? VC6 就是 legacy Visual Studio 6 compiler ,就是使用这个编译器编

PHP VC6 X86 VC9 X86 的区别及 Non Thread Safe 的意思

PHP 现在推出 5.3.0 版本了,不过下载的时候有几个不同版本选择。那就是 VC6 X86 VC9 X86
首先我来解答 :
VC6
是什么?
VC6
就是 legacy Visual Studio 6 compiler ,就是使用这个编译器编译的。
VC9
是什么?
VC9
就是 the Visual Studio 2008 compiler ,就是用微软的 VS 编辑器编译的。

那我们如何选择下载哪个版本的 PHP 呢?
如果你是在 windows 下使用 Apache+PHP 的,请选择 VC6 版本;
如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本;

Non Thread Safe 是什么?
Non Thread Safe
就是非线程安全;
Thread Safe
是什么 ?
Non Thread Safe
是线程安全;
官方并不建议你将 Non Thread Safe 应用于生产环境,所以我们选择 Thread Safe 版本的 PHP 来使用。

包含空格的项目的文件 / 路径部分需要用括号括起来

2009-10-20 04:24

今天在装服务器 PHP 时,在 IIS 6 中添加路径中带有空格的应用程序扩展名映射时, IIS 会提示你 包含空格的项目的文件 / 路径部分需要用括号括起来 ,但是无论你使用任何类型的括号将包含空格的项目括起来后仍然会收到此错误提示。

IIS 的错误提示信息英文原文为 “Entries containing space need quotes around the file/path portion” ,翻译为简体中文应为 包含空格的项目的文件 / 路径部分需要用 引号 括起来 ,但是却被错误的翻译为 包含空格的项目的文件 / 路径部分需要用括号括起来

在此应使用 英文引号 “"” 来将应用程序扩展名映射的完整路径包括起来,而不是使用括号。例如下:

"D:/Program Files/PHP/php-cgi.exe"

php5.3 的安装方法 ,IIS PHP5.3 的安装过程

作者: admin

64085-93760
PHP5.3
绝对是 PHP 历史上最大一个变动,尤其是在安装方式上,因为 PHP5.3 彻底放弃 ISAPI ,全面改用 FASTCGI 模式!是不是刚下载下来不会安装了呢!这就是最大的改变!

从没见 PHP Team 动作这么迅速。 PHP 4 停止支持还有一年的过渡期, ISAPI 说没就没了 …… 不过从稳定性上来说, FastCGI 还是比 ISAPI 要好的 …… 不然微软开发 fastcgi 干嘛呢 …… 。在 IIS 下使用 FastCGI 设置 PHP 的介绍可以看这里。 http://www.bnxb.com/host/win/200901/14-673.html

如果装上 PEAR 报错,那看看下面这个说明,现在 pear 要单独安装了,有需要的再装吧

Some users have reported that the windows builds of PHP 5.3 are not able to open the shipped go-pear.phar file.

As a workaround, users can run the distributed phar with php -d phar.require_hash=0 go-pear.phar or download and use the http://pear.php.net/go-pear non-pharred version.

总结一下安装过程

1. IIS 5.1 6.0 7 ,请先安装 Microsoft FastCGI

2. 没有了 ISAPI 支持之后,对于 PHP 5.3 来说, Installer zip 没有什么太大差别了;相比来说,个人觉得 installer 版本东西少(库没少带,还没有那个烦人的 phar PEAR ),更清爽;

3. 安装完成后要改 php.ini 中的 date.timezone 设置,否则 IIS 会给你报个 500 错误 ……

4. 如果装的是 installer 版本并且还需要 PEAR ,那就这么做: 1. http://pear.php.net/go-pear 下载下来; 2. php go-pear.

如果装的是 zip 版本,请执行 php -d phar.require_hash=0 go-pear.phar ,或者按照上边 installer 的方法装非 phar 版本的 PEAR

Win IIS6 下手动配置 FASTCGI PHP5( 目前 Win 下最好的 PHP 支持方法 )

作者:佚名

IIS6 上使用 FastCGI PHP5( 应该是目前 Win 性能最好的 PHP 支持方法 )


这应该是目前 Win 上性能最好的 PHP 支持方法

1
、下载并安装 FastCGI Extension for Internet Information Services 6.0
地址 :http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521

2 、下载 php5 WIN 环境版或者有最新 PHP6 测试版也可试用看看

http://www.php.net/downloads

解压到 D:/PHP 目录下
下载 .zip 格式的版本 , 下载后解压至 D:/PHP 目录 , 并给 IIS_WPG users 赋予读取和运行权限(注 : 起源网的服务器是直接设置给 users 权限,虽然有点高,但是比较简便)

3. 注册 PHP FastCGI
在命令行下运行
cscript fcgiconfig.js -add -div:"PHP" -extension:php -path:"D:/PHP/php-cgi.exe"

fcgiconfig.js 默认存放目录是 :C:/WINDOWS/system32/inetsrv

4. 设置
D:/PHP/php.ini-recommended 重命名为为 D:/PHP/php.ini
打开 D:/PHP/php.ini ,修改:
extension_dir = "D:/PHP/ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0

其它根据实际需要对 php.ini 进行设置修改
然后执行:
cscript fcgiconfig.js -set -div:"PHP" -InstanceMaxRequests:500
cscript fcgiconfig.js -set -div:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:1000
以上两项设置最大池和响应连接数,可以根据运行机器的硬件配置、使用情况修改

一切完毕之后重启 IIS, 赶紧写一个测试页试一下吧 .

phpinfo();

?>

我第一次安装时 , 由于为了服务器的安全我删除了 wsshell 命令 , 导致在第 3 步时出现了如下错误 :
Microsoft JScript
运行时错误 : Automation 服务器不能创建对象
后通过重新注册命令 :regsvr32 WSHom.ocx
问题解决

重启 IIS , 打开测试页出现如下提示 :

FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------

Error Details:

Error Number: 5 (0x80070005).
Error Description:
拒绝访问。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

这个错误是由于在解压 PHP 之后 , 没有对 IIS 启动帐户赋予该目录的读取和运行权限 . 修改文件夹安全属性 , 问题解决 .

IS 上安装 PHP5.3 的完整教程方法

2009-09-15 20:25

由于 PHP5.3 的全新特效及改进,原有的 isapi 方式解析 PHP 脚本已经不被支持, PHP 5.3.0 以后的版本开始使用微软的 fastcgi 模式,这是一个更先进的方式,运行速度更快,更稳定!

新版本的 PHP5.3 通过以往老方法已经不能在 IIS 上安装了,现在给出在 IIS 上安装 PHP5.3 以后版本的教程
首先下载并安装 IIS FastCGI ,下载地址 http://www.iis.net/1521/ItemPermalink.ashx
下载 IIS 下的 PHP ,下载地址 http://windows.php.net/download/ ,(注意 IIS 下要选择 VC9 的版本)解压到所需目录,该目录需要给予 user 读取运行权限,找到 PHP 安装目录下的 php.ini-development 并改名为 php.ini 文件,找到下面
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改为
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

如果不改以上的 date.timezone 可能打开网页会提示 500 错误

找到

; On windows:
; extension_dir = "ext"

改为

; On windows:
extension_dir = "E:/local/php5.3/ext"

目录根据自己情况定

至于 php.ini 里面的 extension 开启方式,根据自己所需,比如我的是

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

注意最后一个 php_zip.dll 这个在我下载下来的 php5.3.0 ext 内是不存在的,所以如果开启会报错误,如果实在需要这个 DLL ,可以从 PHP5.2 中拷贝过去
然后打开 IIS 管理器,网站上点右键 - 属性 - 主目录 - 配置 - 添加,配置如下图

[ 转]PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
图片 1

打开 FASTCGI 配置文件 C:/WINDOWS/system32/inetsrv/fcgiext.ini ,在最后 [Types] 修改为这样的样式
[Types]
php=PHP
[PHP]
ExePath=D:/Program Files/Php/php-cgi.exe
重启即可,还有不要忘记给默认文档加个 PHP