用Microsoft Web Platform Installer配置安装php

以前配置WIN2003+PHP+MYSQL,总要四处下载,改配置文件,现在用微软的这东西配置方便很多。

中间碰上了两个小问题,安装好了后,显示404找不到页面。

1. 在站点-> 属性 -> 主目录 -> 配置, 发现没有.php 的选项,手工增加,

可执行文件:C:WINDOWSsystem32inetsrvfcgiext.dll, 后缀.php, 动作限制为:GET,HEAD,POST,DEBUG

添加后,

以前配置WIN2003+PHP+MYSQL,总要四处下载,改配置文件,现在用微软的这东西配置方便很多。

中间碰上了两个小问题,安装好了后,显示404找不到页面。

1. 在站点-> 属性 -> 主目录 -> 配置, 发现没有.php 的选项,手工增加,

可执行文件:C:WINDOWSsystem32inetsrvfcgiext.dll, 后缀.php, 动作限制为:GET,HEAD,POST,DEBUG

添加后,

 

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

Error Details:

* Could not find entry for "php" on site 1799551019 in [Types] section.
* Error Number: 1413 (0x80070585).
* Error Description: ÎÞЧË÷Òý¡£

HTTP Error 500 – Server Error.
Internet Information Services (IIS)

 

仍是报错。

2. C:WINDOWSsystem32inetsrvfcgiext.ini

发现少了 :

[Types]
php=PHP
[PHP]
ExePath=C:Program FilesPhpphp-cgi.exe

补上后,再运行,一切OK了。

还是方便非常多。

 

PHP中session使用调试中碰上的问题

因开发需要接触PHP,感觉上手也挺快,在调试PHP中的SESSION时总是出错

因开发需要接触PHP,感觉上手也挺快,在调试PHP中的SESSION时总是出错,

Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at XXX:2) in .php on line 3

类似错,对照源码好像自己没有哪里写错.

php开始符号<?php 之前的字符包括空格都不会被执行而是直接输出
session在开始前不能有任何字符输出,
header()是一样的

将代码提前,去除前面的空格,就可以了.

——————-正确
<?php
session_start();
$username;
$username = “test”;
session_register(“username”);
echo $_SESSION[‘username’];
?>

——————-错误

<?php
session_start();
$username;
$username = “test”;
session_register(“username”);
echo $_SESSION[‘username’];
?>