require_once 中的相对路径不起作用

2024-04-27

我有以下结构

otsg
 > class
   > authentication.php
   > database.php
   > user.php
 > include
   > config.inc.php
   > encryption.php
   > include.php
   > session.php
 > index.php
 > registration.php

include.php 文件有以下内容

ini_set('display_errors', 1);
error_reporting(E_ALL);

ini_set('include_path',ini_get('include_path').':/Applications/MAMP/htdocs/otsg/:');
require_once 'config.inc.php';
require_once '../class/database.php';
require_once '../class/user.php';
require_once 'encryption.php';
require_once 'session.php';
require_once '../class/authentication.php';

在我包含的index.php页面中

require_once 'include/include.php';

当我打开页面index.php 时,我收到以下警告和致命错误。我不明白是什么导致了这个错误。当我给出绝对路径时它就起作用了。但我认为绝对路径不是一个好主意。

Warning: require_once(../class/database.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/otsg/include/include.php on line 9

Fatal error: require_once() [function.require]: Failed opening required '../class/database.php' (include_path='.:/Applications/MAMP/bin/php5.3/lib/php:/Applications/MAMP/htdocs/otsg/include/:') in /Applications/MAMP/htdocs/otsg/include/include.php on line 9

Use

__DIR__

获取脚本的当前路径,这应该可以解决您的问题。

So:

require_once(__DIR__.'/../class/user.php');

这将防止您可以从不同的文件夹运行 PHP 脚本,从而导致相对路径不起作用。

编辑:斜线问题已修复

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

require_once 中的相对路径不起作用 的相关文章

随机推荐