Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP5.3.x使用fast cgi在iis7上包含语句问题_Php_Iis 7_Include_Fastcgi - Fatal编程技术网

PHP5.3.x使用fast cgi在iis7上包含语句问题

PHP5.3.x使用fast cgi在iis7上包含语句问题,php,iis-7,include,fastcgi,Php,Iis 7,Include,Fastcgi,我有一个运行PHP5.3.6非线程安全(VC9)的web服务器,它使用FastCGI在服务器2008R2(IIS7.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

我有一个运行PHP5.3.6非线程安全(VC9)的web服务器,它使用FastCGI在服务器2008R2(IIS7.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公司 -db.php -index.php

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

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

我正在粘贴一个经过清理的php.ini文件,但我认为一切都设置正确。(很抱歉使用了两倍的间距…否则它会一起运行。为了使文件更短,我只包含了与默认php.ini设置不同的变量。)


我看了几个不同的网站,没有找到任何真正类似的问题。该代码在版本4.4.7上确实有效(网站是从运行iis6的2k3服务器迁移而来,其中4.4.7处于isapi模式)

预期包含行为

PHP的include路径中的
仅指最外层的PHP文件,通常是由请求调用的文件

如果要包含与执行包含操作的文件相关的文件,请使用
\uuuuu DIR\uuuu
魔法常量,例如

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

您注意到了
\\DB-FUNCTIONS.PHP
中的双\前缀,对吗?在Windows上,它可能将其视为UNC路径。不管怎样,它看起来都不是一个正确的文件路径。我注意到了,但是include语句只是“filename”。。。我试着用谷歌和必应搜索,但他们都从搜索中删除了标点符号,所以我没有找到任何东西。在我看来这也不对,但我找不到任何关于它的东西。我认为这是对的,但它在版本4.4.7中工作,这让我感到困惑。我们只是托管服务器,我试图找到一种方法来解决这些问题,而无需更改代码。有没有办法在脚本之前自动运行函数?我知道auto_prepend_file ini设置,但是如果我使用
ini_set('include_path',ini_get('include_path')创建了一个脚本它只返回auto_prepend_文件的目录,该目录已经在include路径中。
include __DIR__ . '/DB-FUNCTIONS.php';