gpt4 book ai didi

php - 使用完全限定的 URL 时 require() 的问题

转载 作者:行者123 更新时间:2023-12-05 08:17:42 25 4
gpt4 key购买 nike

所以,我的代码使用的是相对路径,但遇到了一些常见文件的问题,这些文件可能是不同目录级别的 include/required。

无论如何,绝对路径更有效,对吧?因此,我使用 require_once('http://' . $_SERVER['HTTP_HOST'] . 'file_name.php');

将所有 include/require 更改为绝对路径

$_SERVER['HTTP_HOST'] 是正确的,不是吗?当我用谷歌搜索时似乎是这样。

这要求我在 php.ini 中设置“allow_url_include=on”并重新启动 Apache。

所以,现在我的情况看起来像这样(简化示例):

File2.php 包含

<?php
function hello()
{
echo 'hello<br>';
}
?>

如果 file1.php 包含

<?php
require_once('file2.php');
hello();
?>

然后我看到预期的输出“hello”,但是如果我将该行更改为

   require_once('http://' . $_SERVER['HTTP_HOST'] . '/file2.php');

然后我得到“ fatal error :调用 C:\xampp\htdocs\file1.php 中的未定义函数 hello()”

(我猜对 c:\xammp\httdos 的引用来自 Xdebug,因为 PhpInfo 显示 HTTP_HOST localhost)

无论如何,这是一个很长的帖子,说我遗漏了一些简单的要点并询问它是什么。

最佳答案

当您需要一个完整的 URL 时,PHP 会向服务器发出请求并取回 PHP 脚本的输出 - 这将不包含任何实际的 PHP 代码(除非脚本本身输出 PHP 代码)。

此外,您不会看到使用相对路径和绝对路径在性能上有任何明显差异,所以不必太担心。事实上,您的路径不是绝对路径而是绝对 URI,获取 URI 实际上会比使用本地路径慢方式

关于php - 使用完全限定的 URL 时 require() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com