首页 > 解决方案 > XAMPP 配置问题:无法访问外部文件/url

问题描述

我最近设置了 XAMPP。设置很简单,但我似乎不知道正确的调整来让它与外部网络世界对话。

无论我如何尝试阅读外部 URL,它都会告诉我在哪里下车。

(在 PHP 中)我尝试了简单的 file_get_contents 路线。当那失败时,有人指出我卷曲。我在 php.ini 中启用了它,但也失败了。

我得到非常无用的“无法打开文件”

致命错误:无法在 C:\xampp\htdocs\includes\PdfToText.phpclass:1665 中打开“https://earth.esa.int/documents/10174/1514862/Swarm_Level-2_TEC_Product_Description”堆栈跟踪:#0 #2 { main} 在第 1665 行的 C:\xampp\htdocs\includes\PdfToText.phpclass 中抛出

我知道这似乎是 PdfToText 类(上图)的错误,但这只是显示错误的一种方式。从引号之间取出文件,尝试加载它,这很好。无论尝试什么,它都不想从外界打开文件。

我假设它是一个端口/代理/某物,但我整天都在谷歌上进出stackoverflow,我在任何地方都看不到同样的问题。

标签: phpxampp

解决方案


快速解决:

找到你的 php.ini 文件:

php -i | grep "Loaded Configuration File"

查找allow_url_fopen并将其设置为 On

allow_url_fopen = On

解释:

发生此错误是因为当您使用 file_get_contents 或 fopen 等函数时,您正在处理文件指针,allow_url_fopen 将让您做的是解析 url,创建 tcp 连接并创建指向该 tcp 连接的网络文件指针,这将被处理通过php,因为它是一个文件。

出于安全原因,此设置在某些安装中被禁用。

检查文档:

http://php.net/manual/en/filesystem.configuration.php


推荐阅读