我编写了一个简单的 api,将数据从一台服务器汇集到另一台服务器。它是一个非常简单$_GET
的基于 api,其中所有数据都作为 GET 数据附加到 url。
所以我得到类似的东西:
http://example.com/api.php?param1=afdsa¶m2=TTTT&....
等。
为了调用它,我file_get_contents($url);
首先使用 - 我真的不需要回复的内容。我只需要“触摸”该网址,它就会生效。
我的托管(共享,justhost)有问题,我已经搬到了 VPS。我的 api 调用开始超时,当我检查了 apache error.log 时,我看到了:
"failed to open stream: File name too long in ..."
确实 -$url
字符串大约 450 个字符。
问题是 - 我在哪里更改文件长度的设置。它与硬盘驱动器文件系统不同,因为我自己的计算机得到相同的字符串,没有问题,也没有错误。另外-共享主机对该网址没有任何问题。
VPS 运行 ubuntu 10.04 lts 和 PHP 版本 5.3.2-1ubuntu4.9
感谢任何帮助,已经坐了两天
解决了
好吧,当您认为您知道问题出在哪里时,您知道它是怎么回事,但事实并非如此?好吧 - 这就是问题所在。我已经重写了我的 API,所以它所要做的就是print_r($_GET);
你知道什么 - 它运行良好。所以我开始一一添加,发现堆叠脚本的是一个php邮件函数。为什么?我不知道,也许邮件设置不正确 - 但现在,当我注释掉邮件时 - 一切正常。
它仍然不能解释我的“文件长”错误,但没关系。谢谢大家