设为首页 收藏本站
查看: 704|回复: 0

PHP5 与 IIS 的集成 (Windows 2003)

[复制链接]

尚未签到

发表于 2015-5-4 09:31:13 | 显示全部楼层 |阅读模式
  正在做“Java 初级”的培训,公司内部。为了说明 MVC,我先讲了 Web 发展,接下来准备从 HTML 讲起,循序渐进的讲到 WebForm/JSF 等,其中一个环节是 Templating 技术。鉴于我对 Java 技术不熟,也没有使用过 Velocity 和 WebMacro,所以我准备使用 phplib 演示。
  在配置 PHP 的过程中遇到了几个问题,是前几年没有遇到,或者说没有注意的,今天一并写出来,留个印象吧。

  • 安装 PHP 之前,建议认真阅读一下 install.txt 文件。尽管网上已经有很多“经验之谈”,官方的文档仍是最准确、最全面的参考。另外,当我遇到问题时,真正帮我解决问题的,还是靠从头仔细阅读该文件。
  • 建议使用手动安装(Manual Installation)模式,这样会加深你对 PHP 的了解。我一直认为:作为程序员,一定要能够自己搭建开发用的环境(两年前,我曾和一个 QQ 的网友,为此事“吵”一次,呵呵;那时候年轻,要是现在一定懒得多说)。
  • 在 PHP5 中不建议将 php5ts.dll 和 php.ini 放到 c:\windows 文件夹下,只需设置一下 PATH 路径即可(这个不用我多介绍吧?)。
  • IIS 和 PHP 的集成

    • 设置 ISAPI Filter,直接引用 php5isapi.dll 文件即可
    • 设置 Application Configuration/Mappings,增加对 php 扩展名文件的支持,仍旧使用  php5isapi.dll 文件解析 PHP 请求
    • 设置 Web Service Extension 信息,在 Windows 2003 上这项配置是必须的,必须将 php5isapi.dll 设置为 Allow 后 PHP 才能够正常运行

  • 如果完成了以上步骤仍然不好用,记得设置 php 所在文件夹的访问权限。我的机器使用 NTFS 分区,设置了 PHP 文件夹的 Everyone 的 Read、Read & Execute、List Folder Contents 功能后好用了。同时我也设置了 IUSR_MACHINE 的相应权限。
  • 完成 3 和 5 的操作后,记得要重启系统,切记,切记。Note: Be sure to reboot after following the steps above to ensure that the PATH changes are applied.
  完成以上 6 个步骤后, PHP 就可以正常工作了,只是,此时却不能使用 mysql_connect 函数。也就是说,PHP5 默认不再加载 mysql 驱动,需要我们手动处理。

  • 搜索 ; extension=php_mysql.dll 行,删除前面的分号
  • 搜索 ; extension=php_pdo_mysql.dll 行,删除前面的分号(此项我没有测试,只是把和 mysql 相关的 DLL 都 Load 了进来。
  • 要想让以上“扩展库”好用,必须设置 php.ini 中的 extension_dir
  • 如果设置了以上内容,mysql 仍然不好用,一定要使用 phpinfo() 确认 php.ini 是否正确加载。
  • php.ini 的加载设置

    • 虽然 PHP5 文档中说,不必将 php.ini 放到 c:\windows 文件夹下,但是,只设置了 PATH 信息 PHP 还是找不到该文件。
    • 在 Windows 平台上,要在“注册表”中增加以下键值,HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath,需要注意的是,要填写 php.ini 所在的文件夹(路径)。

  • 最后,在 php.ini 中的 short_open_tag 默认值是 Off,即,写 PHP 程序时必须使用 标签。
  进行上面的 N 个步骤处理后,为使 PHP 配置生效,需要重启 IIS 服务,切记。
  
  :php.ini is searched in these locations (in order):
  * SAPI module specific location (PHPIniDir directive in Apache 2, -c
    command line option in CGI and CLI, php_ini parameter in NSAPI,
    PHP_INI_PATH environment variable in THTTPD)
  * The PHPRC environment variable. Before PHP 5.2.0 this was checked
    after the registry key mentioned below.
  * As of PHP 5.2.0, the following registry locations are searched in
    order: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath,
    HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath and
    HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath, where x, y and z
    mean the PHP major, minor and release versions.
  * HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows Registry
    location)
  * Current working directory (except CLI)
  * The web server's directory (for SAPI modules), or directory of PHP
    (otherwise in Windows)
  * Windows directory (C:\windows or C:\winnt) (for Windows), or
    --with-config-file-path compile time option

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-63419-1-1.html 上篇帖子: Windows Server 2003“在系统启动时至少有一个服务或驱动程序产生错误” 下篇帖子: Windows Server 2003分区修改方法[转载]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表