PHP的新手,试图找出相对路径和绝对路径如何处理require。PHP需要路径/相对或绝对
我的结构是这样的:
的index.php
/inc/db_functions.php
/inc/config.php
/login/login.php
db_functions.php包括配置.PHP使用 require_once 'inc/config.php';
的index.php包括db_functions.php使用require_once 'inc/db_functions.php';
如果用户未登录,则浏览器重定向到login.php。 最初login.php位于根文件夹中,并使用与index.php相同的require。它工作完美。
现在它在它自己的子文件夹中。 我改放在require_once使用 require_once('../inc/db_connect.php');
代码的工作,直到它得到的db_connect.php放在require_once行,然后失败。
我改变了在login.php中再次要求是: require_once(__DIR__.'/../inc/db_connect.php');
再次失败时,它得到了放在require_once在db_connect.php
我改放在require_once在db_connect是一个绝对路径。它又失败了。
有没有什么办法可以解决这个问题,因为包含文件的包含路径似乎被调用文件的位置所改变(我认为这有意义),但是如何使它更加健壮。
请编辑您的问题,以便它包含您的文件的源代码并编写您获得的错误消息。但是,魔术常量'__DIR__'应该可以做到。 – Progman
嗨。我会尝试上传代码,但它只有几行,所以我会先修剪它。我也不会收到错误信息。 netbeans下的调试只停留在该行,并且不会继续。 – Flugan
您可能需要检查https://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php以查看如何从您的PHP脚本中获取错误消息。 – Progman