php - 在文件夹中包含一次 azure web php

标签 php iis azure web

我尝试包含

在文件夹wwwroot/sample/printsample.php

这段代码是我写的

  <?php
            include_once("testerror/warning.php");
  ?>

在文件夹wwwroot/testerror/warning.php

这段代码是我写的

<?php

    echo "Hello World";

?>

当我尝试通过网站 example.com/sample/printsample.php 访问时,我得到的结果是什么。

但是当我在sample/printsample.php中的include_once中包含完整路径时

像这样

<?php
   include_once("D:\home\site\wwwroot\useblockscript\testerror\warning.php");
?>

我在网页打印“Hello World”中得到结果。

有什么问题吗?

查看脚本位于D:\home\site\wwwroot。所以它寻找相对路径。那应该是 D:\home\site\wwwroot\testerror\warning.php

这是 $_SERVER 的一些摘录

[SCRIPT_FILENAME] => D:\home\site\wwwroot\useblockscript\test.php
[REQUEST_URI] => /useblockscript/test.php
[PATH_TRANSLATED] => D:\home\site\wwwroot\useblockscript\test.php
[DOCUMENT_ROOT] => D:\home\site\wwwroot
[APPL_PHYSICAL_PATH] => D:\home\site\wwwroot\
[HTTP_X_ORIGINAL_URL] => /useblockscript/test.php
[PHP_SELF] => /useblockscript/test.php

最佳答案

你可以这样尝试

include_once($_SERVER['DOCUMENT_ROOT']."testerror/warning.php");

失败的原因是您没有给出绝对包含路径,因此它在 printsample.php 文件路径中搜索(相对路径),即“wwwroot/sample”。

关于php - 在文件夹中包含一次 azure web php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594120/

相关文章:

c# - 应用程序因 stackoverflow 而崩溃

C# Azure/Postman - POST 上不允许出现 405 方法错误

Web应用程序的Azure表存储设计

azure - 将 Azure AD 身份验证集成到由 API 和 MVC 组成的现有项目时,我应该使用什么方法?

powershell - 通过 PowerShell 向 applicationHost.config 添加 <location/> 元素

azure - 访问 web.config 中的域模式时仅允许特定 IP

更新 mysql 表时 PHP 错误

php - 如何从另一个数据库插入where?

PHP:安全地将 mySQL 中的字段日期从 'datetime' 转换为 'unix timestamp' 而不会丢失数据

php - 在购物车 View 中获取送货国家 - WooCommerce