虚拟主机别名和php包括

时间:2017-03-03 14:05:48

标签: php html apache

我目前遇到问题,因为我需要在虚拟主机中使用Alias。

这是我的Alias-Config:

Alias /projects/proj_one/core /Applications/XAMPP/xamppfiles/htdocs/projects/core

因此当我在proj_one内时正常当我只使用像<img 'src=core/..'>

这样的HTML时

但是当我想使用<?php require_once('core/file.php') ?>时 它告诉我找不到该文件:failed to open stream: No such file or directory in

所以我认为php只是在项目中查找core/并且显然没有找到它,因为它不了解来自虚拟主机的Alias。

如何通过Alias告诉php该文件在其他地方?

非常感谢

2 个答案:

答案 0 :(得分:1)

虚拟主机别名适用于apache而不适用于php。 当您需要或包含您应该使用的文件时。

require_once(__DIR__.'/core/file.php');

如果目录核心位于您所在文件所在的目录中。

__DIR__始终是当前目录。

因此,我们假设您在index.php中调用require,您的项目结构是:

/home/apps/application
           |-index.php
           |-core
               |-file.php

然后这段代码:

require_once(__DIR__.'/core/file.php');

会奏效。

如果您的结构是:

/home/apps/application
           |-public
           |   |-index.php
           |-core
               |-file.php

然后:

require_once(__DIR__.'/../core/file.php');

这样可行。

答案 1 :(得分:0)

此错误的原因:

generate: {
  fallback: '404.html',
  routes: advices
}

是您使用了相对路径,而不是绝对路径:

"failed to open stream: No such file or directory in"

只需使用绝对路径,一切都会起作用。

"require_once('core/file.php')";