[英]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.