Php 通过HTTPS连接包括文件

Php 通过HTTPS连接包括文件,php,Php,首先,让我向您展示我的代码: index.php <?php $id = 123456; include("https://secure.example.com/log.php"); ?> <?php echo $id; ?> 使用以下代码检查包装器: var_dump(stream_get_wrappers()); 给我一个数组,显示https: array(12) { [0]=> string(5) "https" [1]=> str

首先,让我向您展示我的代码:

index.php

<?php
$id = 123456;
include("https://secure.example.com/log.php");
?>
<?php
echo $id;
?>
使用以下代码检查包装器:

var_dump(stream_get_wrappers());
给我一个数组,显示https:

array(12) {
    [0]=> string(5) "https"
    [1]=> string(4) "ftps"
    [2]=> string(13) "compress.zlib"
    [3]=> string(14) "compress.bzip2"
    [4]=> string(3) "php"
    [5]=> string(4) "file"
    [6]=> string(4) "glob"
    [7]=> string(4) "data"
    [8]=> string(4) "http"
    [9]=> string(3) "ftp"
    [10]=> string(4) "phar"
    [11]=> string(3) "zip"
}

请务必阅读手册中的内容


如果目标服务器将目标文件解释为PHP代码,则可以使用HTTP GET使用的URL请求字符串将变量传递到包含的文件。严格来说,这与包含文件并使其继承父文件的变量范围不是一回事;脚本实际上是在远程服务器上运行的,然后结果将包含在本地脚本中。

请始终阅读手册


如果目标服务器将目标文件解释为PHP代码,则可以使用HTTP GET使用的URL请求字符串将变量传递到包含的文件。严格来说,这与包含文件并使其继承父文件的变量范围不是一回事;脚本实际上正在远程服务器上运行,然后结果将包含在本地脚本中。

尝试打开一些错误报告以查看实际发生的情况:


<?php
    error_reporting (E_ALL);
    ini_set ("display_errors", 1);

    $id = 123456;
    include("https://secure.example.com/log.php");
?>


编辑:是的,正如我现在看到的,真正的问题可能是您没有包括log.php的源代码,而是它的输出。因此可能没有要报告的错误。

尝试打开一些错误报告以查看实际发生的情况:


<?php
    error_reporting (E_ALL);
    ini_set ("display_errors", 1);

    $id = 123456;
    include("https://secure.example.com/log.php");
?>

编辑:是的,正如我现在看到的,真正的问题可能是您没有包括log.php的源代码,而是它的输出。因此,可能没有要报告的错误。

index.php

<?php
$id = 123456;
include("https://secure.example.com/log.php");
?>

使用
index.php记录.txt或记录.php

<?php
$id = 123456;
include("https://secure.example.com/log.php");
?>



无论是log.txt还是log.php使用
我希望你有一个很好的理由来尝试这个!也就是说,您的安全服务器上SSL证书的状态是什么?它是正确的还是自签名的?即使这可能是有史以来最糟糕的想法之一。您真的不应该使用include执行此操作,include用于将本地文件包含到php脚本中。你要做的是打开HTTPS连接并下载网页内容,你应该使用file_get_contents()或curl,我不记得file_get_contents是否支持HTTPS。我的理由是什么?我想包含的代码恰好位于我们的安全服务器上。我需要的页面将不包括在内。它具有有效、正确的SSL证书。我可以理解为什么在安全页面上包含其他方式的非安全项可能是个问题,但不是这样。如果你只是想要代码,我认为有一些devops工具和命令比PHP更好,例如,如果你想在安全服务器上解释代码,然后你想得到回复,然后你应该实现一个API。我希望你有一个很好的理由来尝试这个!也就是说,您的安全服务器上SSL证书的状态是什么?它是正确的还是自签名的?即使这可能是有史以来最糟糕的想法之一。您真的不应该使用include执行此操作,include用于将本地文件包含到php脚本中。你要做的是打开HTTPS连接并下载网页内容,你应该使用file_get_contents()或curl,我不记得file_get_contents是否支持HTTPS。我的理由是什么?我想包含的代码恰好位于我们的安全服务器上。我需要的页面将不包括在内。它具有有效、正确的SSL证书。我可以理解为什么在安全页面上包含其他方式的非安全项可能是个问题,但不是这样。如果你只是想要代码,我认为有一些devops工具和命令比PHP更好,例如,如果你想在安全服务器上解释代码,然后你想得到回复,然后你应该实现一个API。这意味着他需要使用类似:
的东西,或者通过Get发送$id作为参数。这意味着他需要使用类似:
的东西,或者通过Get发送$id作为参数。这仍然没有帮助,他的log.php将输出一个空字符串并发出通知,他将包含该文件,但不做任何处理。至少他会看到此通知。@Cthulhu可能不会,在通过http访问的另一个文件中,这里没有任何内容可以打开通知,因此,如果它默认不显示警告,就像大多数服务器一样,他仍然看不到任何内容。这仍然没有帮助,他的log.php将输出一个空字符串并引发一个通知,他将包含该文件,并且不做任何处理。至少他会看到这个通知。@Cthulhu可能不会,在通过http访问的另一个文件中,这里没有打开通知的功能,因此,如果它默认不显示警告,就像大多数服务器一样,他仍然看不到任何东西。