【问题标题】:Two Errors trying to include .php file: Warning: require(...) AND Fatal error: require() ... (include_path='.;C:\php\pear')试图包含 .php 文件的两个错误:警告:require(...) 和致命错误:require() ... (include_path='.;C:\php\pear')
【发布时间】:2011-02-27 09:38:46
【问题描述】:

这是第一个错误:

Warning: require(/hb/includes/constants.php) [function.require]: failed to open stream: No such file or directory in C:\wamp2\www\hb\includes\connection.php on line 2

以及紧随其后的第二个错误:

Fatal error: require() [function.require]: Failed opening required '/hb/includes/constants.php' (include_path='.;C:\php\pear') in C:\wamp2\www\hb\includes\connection.php on line 2

这是它不喜欢的行:

require("/hb/includes/constants.php");

我确实安装了新版本的 WAMP,但我知道目录/文件很好,并且代码以前可以在另一台服务器上运行。似乎我的 require() 都不再起作用了。我试着环顾四周,有些人向其他人建议他们编辑他们的 php.ini,但我不知道我会指向哪个目录 - 如果你不能说我对所有与服务器相关的事情都很无知。

感谢任何帮助。

【问题讨论】:

    标签: php include pear require


    【解决方案1】:

    首先,你真的——真的! -- 确定您尝试包含的文件/hb/includes/constants.php 存在吗?

    考虑到您请求的路径以 / 开头,看起来您使用的是绝对路径...看起来像 UNIX 路径,但您在 Windows 服务器上...


    如果存在,但 PHP 仍然无法包含它,请检查:

    • 您的网络服务器(包括目录)可以读取它——我正在考虑 UNIX 权限
    • 没有open_basedir 限制会阻止 PHP 访问这些文件。


    顺便说一句,使用 require 时会出现警告和致命错误:警告是正常的 (它来自 include ;而致命错误是includerequire 之间的差异。

    【讨论】:

    • 无论有没有斜线,我都得到相同的结果,它确实存在。我检查了我的 php.ini 中的 open_basedir,它被注释掉了。
    • 好的。您确定该文件存在,并且 PHP 可以使用 include_path 找到它吗?请记住,您的include_path 中有. (“当前目录”)
    • 我很确定,这是文件属性对话框中的目录:C:\wamp2\www\hb\includes,这是我可以用来访问文件的 URL:@987654323 @.
    • 这是文件与我的服务器根目录相关的问题,感谢您的帮助......我只是愚蠢:P。
    猜你喜欢
    • 2019-10-31
    • 2021-03-22
    • 1970-01-01
    • 2018-02-22
    • 2021-03-30
    • 1970-01-01
    • 2016-06-29
    • 2018-04-27
    • 1970-01-01
    相关资源
    最近更新 更多