当url包含点或冒号时,PHP curl请求将导致白色页面

当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

这只发生在我的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, FALSE);
$response = curl_exec($ch);
这会使页面加载一段时间,并返回一个白色屏幕。显示错误、输出或其他任何内容都是不可能的

每当我将url更改为另一个url(现有或不存在)时,只要url不包含任何点或冒号,只要该url有意义,我就会得到正确的错误或输出

是否有任何使用限制或我缺少的卷发? 我无法控制目标url,我需要使用ip:port结构中的api

更新

  • 问题与输入的目标URL或数据无关:当我输入一个毫无意义的URL时,同样的问题也会发生,,只要它不包含任何内容。或:
  • 我想这是Web服务器上的一个设置,因为我的所有测试在本地主机(MAMP)上都可以正常工作
  • 不幸的是,除了我自己上传的日志或文件(one.com webhosting),我无法访问任何日志或文件
  • 更新2


    原来我的主机正在阻止隐式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我已经更新了我的原始答案来澄清一些事情