当url包含点或冒号时,PHP curl请求将导致白色页面
这只发生在我的Web服务器上,而不是在本地系统上。 我有这样的卷发要求当url包含点或冒号时,PHP curl请求将导致白色页面,php,curl,php-curl,Php,Curl,Php Curl,这只发生在我的Web服务器上,而不是在本地系统上。 我有这样的卷发要求 ini_set('display_errors', 1); error_reporting(E_ALL); $url = 'http://***.***.***.***:8080/api_v1/oauth/token'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, F
ini_set('display_errors', 1);
error_reporting(E_ALL);
$url = 'http://***.***.***.***:8080/api_v1/oauth/token';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$response = curl_exec($ch);
这会使页面加载一段时间,并返回一个白色屏幕。显示错误、输出或其他任何内容都是不可能的
每当我将url更改为另一个url(现有或不存在)时,只要url不包含任何点或冒号,只要该url有意义,我就会得到正确的错误或输出
是否有任何使用限制或我缺少的卷发?
我无法控制目标url,我需要使用ip:port结构中的api
更新
原来我的主机正在阻止隐式IP和端口(80和443除外)的所有传出流量。 取消了我的订阅,现在找一个像样的提供商。
谢谢你的帮助,就像@Quasimodo建议的那样,如果我是你,我会查看日志文件。如果您在使用Apache的Ubuntu服务器上,请查看
/var/log/apache2/error.log
。一个巧妙的技巧是打开终端并写入:
tail -f /var/log/apache2/error.log
这将向终端打开一个运行流。然后,您可以使您的curl请求崩溃(在浏览器中),然后返回到终端,查看您收到了哪些新的、有趣的错误
它很可能是服务器上的某个配置文件。因此,如果您从该服务器编写一些规范,例如:
-您正在使用的web服务器(Apache、Nginx和其他)
-PHP版本
... 您可以很容易地使用找到所有这些信息
我最好的猜测是你需要为你的服务器配置做些准备,-但这是一个雄鹿狂野的牛仔
增编1
我可以看到你刚刚编辑了这个问题(它思考了一会儿,然后出现了一个空白屏幕)。我想说的是,您的curl请求可能试图加载大量数据,并且您的PHP配置的上限为128mb(或其他)
我将检查PHPinfo中的这两个值:
max_input_vars
memory_limit
看看他们中的任何一个是否低得令人怀疑 我的主机正在阻止隐式IP和端口(80和443除外)的所有传出流量。取消了我的订阅,现在找一个像样的提供商。感谢您的帮助日志文件是什么?通常它们可以通过FTP下载。“杀死我的页面”-请包括观察,而不是解释!另外,请确保您已阅读。@Quasimodo'sOne我的托管公司不提供对除wwwroot@UlrichEckhardt我已经编辑了问题,但在公用文件夹中可能有隐藏的文件。你检查过这个了吗?没有日志文件应该是更改主机的标准。这更多的是一系列注释,而不是答案。@Nick…甚至不适用,因为“这只发生在我的Web服务器上,而不是本地系统上”。我同意,Nick。但在现阶段,这个问题太广泛,无法给出一个单一的答案建议。所以我发布了这篇文章,以便@RobrechtVM处境中的其他人可以按照与他相同的步骤来找出错误所在。因为即使其他人也有和他一样的错误,-那么可能是几件事中的任何一件。谢谢@Zeth我已经更新了我的原始答案来澄清一些事情