簡體   English   中英

虛擬主機別名和 php 包括

[英]virtual hosts alias and php include

我目前遇到問題,因為我需要在我的虛擬主機中使用別名。

這是我的別名配置:

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 告訴 php 這個文件在其他地方?

非常感謝

虛擬主機別名用於 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');

這將起作用。

這個錯誤的原因:

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

是您使用了相對路徑,而不是絕對路徑:

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

只需使用絕對路徑,一切都會起作用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM