繁体   English   中英

PHP 5.3.x 在具有快速 cgi 的 iis7 上包含语句问题

[英]PHP 5.3.x include statement problems on iis7 with fast cgi

我有一个 web 服务器正在运行 PHP 5.3.6 非线程安全 (VC9),在使用 FastCGI 的服务器 2008 R2 (iis 7.5) 上运行。

我收到几个错误,如下所示:

 PHP Warning:  include_once(\\DB-FUNCTIONS.PHP): failed to open stream: No such file or directory in M:\Depts\uc\uc-template\resources\library\faq-functions.php on line 3
 PHP Warning:  include_once(): Failed opening 'db-functions.php' for inclusion (include_path='.;D:\php5\extras;D:\php5\pear;D:\php5;N:\orgs;T:\Users;M:\depts;L:\Departments;M:\depts\include;') in M:\Depts\uc\uc-template\resources\library\faq-functions.php on line 3

文件调用如下: <?php... include("DB-FUNCTIONS.PHP"); ... ?> <?php... include("DB-FUNCTIONS.PHP"); ... ?>

该文件存在于文件夹中,权限设置正确,其他包含文件正在工作。

我已将问题追溯到以下

假设您具有以下文件夹结构:

/包括 - inc.php - db.php -index.php

如果 index.php 包含 /includes/inc.php 和 inc.php 调用 include("db.php") (不包含/),则找不到该文件。 如果您将所有文件放在一个文件夹中,它会找到它们。

还有其他人遇到这个问题吗?

我正在粘贴我的 php.ini 文件的清理版本,但我认为一切设置正确。 (对不起,双倍间距......否则它们会一起运行。为了使文件更短,我只包含了与默认 php.ini 设置的变量不同的变量。)

[PHP]

extension_dir         ="D:\PHP5\ext"
short_open_tag        = On
asp_tags              = Off
register_globals      = On
register_long_arrays  = On
register_argc_argv    = On
post_max_size         = 8M
magic_quotes_gpc      = On
include_path          = ".;D:\php5\extras;D:\php5\pear;D:\php5;M:\depts;M:\depts\include;"
cgi.force_redirect    = 0
cgi.fix_pathinfo      =1
fastcgi.impersonate   = 1;
allow_url_fopen       = On
allow_url_include     = On
fastcgi.logging       =0
extension             =php_sqlsrv_53_nts_vc9.dll
extension             =php_curl.dll
extension             =php_gd2.dll
extension             =php_imap.dll
extension             =php_oci8.dll
extension             =php_openssl.dll

我查看了几个不同的站点,找不到与此问题真正相似的任何内容。 此代码在版本 4.4.7 上工作(web 站点是从运行 iis6 的 2k3 服务器迁移的,4.4.7 在 isapi 模式下)

包含行为是预期的。

. 在 PHP 的包含路径中,仅指最外层的 PHP 文件,通常是由请求调用的文件。

如果要包含一个相对于执行包含的文件的文件,请使用__DIR__魔术常量,例如

include __DIR__ . '/DB-FUNCTIONS.php';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM