我有一个名为'sess-start.php'的脚本,它位于我的httpdocs目录中的/include目录中。
我的网站继续出现此错误:
[Fri Mar 25 14:52:24 2011] [error] [client 12.3.3.3] PHP致命错误:require() [function.require]:无法打开所需的'/includes/sess-start.php'(include_path ='。:')在/var/www/vhosts/site.com/httpdocs/page.php的第4行,引用者:https://www.site.com/ 尽管www.site.com/includes确实存在。怎么回事!
编辑1
这些是可能包含其他require或include语句的包含/需要文件。相对路径将不起作用,请不要建议这样做。
我的.htaccess文件已将所有包含路径指向站点根目录: php_value include_path .:/var/www/vhosts/site.com/httpdocs
编辑2
并非我所有的包含或必需的脚本都包含在单个目录中,因此建议仅将/includes目录放置在include_path中也被否定了(反过来还会在Windows机器上引起问题)
更新
也许对一个真实例子的澄清可以帮助解决我们团队正在尝试解决的问题:
在一个页面上,用户可以输入多个选项,下一页进行必要的计算,并基于此将客户路由到许多潜在选项,所有这些选项都会导致类似于DB条目的require语句。
然后,在db条目(或其他操作)中,如果一切顺利,成员可能已经选择在他/她的操作基础上接收电子邮件确认。此require语句位于第二个require(db insert)中,但与第二个不同,并因此导致冲突,因为第一个文件处理链接时不正确。
硬编码绝对路径或甚至根据每个页面设置适当的包含路径是“可以”的,但它会禁用我们团队在文件之间使用dreamweaver(或任何执行相同操作的程序)进行热链接的能力,因为在测试环境中运行时无法识别“站点根”。
我的网站继续出现此错误:
[Fri Mar 25 14:52:24 2011] [error] [client 12.3.3.3] PHP致命错误:require() [function.require]:无法打开所需的'/includes/sess-start.php'(include_path ='。:')在/var/www/vhosts/site.com/httpdocs/page.php的第4行,引用者:https://www.site.com/ 尽管www.site.com/includes确实存在。怎么回事!
编辑1
这些是可能包含其他require或include语句的包含/需要文件。相对路径将不起作用,请不要建议这样做。
我的.htaccess文件已将所有包含路径指向站点根目录: php_value include_path .:/var/www/vhosts/site.com/httpdocs
编辑2
并非我所有的包含或必需的脚本都包含在单个目录中,因此建议仅将/includes目录放置在include_path中也被否定了(反过来还会在Windows机器上引起问题)
更新
也许对一个真实例子的澄清可以帮助解决我们团队正在尝试解决的问题:
在一个页面上,用户可以输入多个选项,下一页进行必要的计算,并基于此将客户路由到许多潜在选项,所有这些选项都会导致类似于DB条目的require语句。
然后,在db条目(或其他操作)中,如果一切顺利,成员可能已经选择在他/她的操作基础上接收电子邮件确认。此require语句位于第二个require(db insert)中,但与第二个不同,并因此导致冲突,因为第一个文件处理链接时不正确。
硬编码绝对路径或甚至根据每个页面设置适当的包含路径是“可以”的,但它会禁用我们团队在文件之间使用dreamweaver(或任何执行相同操作的程序)进行热链接的能力,因为在测试环境中运行时无法识别“站点根”。