从LAN外部调用调用者脚本时,PHP curl调用不起作用

时间:2014-10-21 05:31:22

标签: php curl

所以我遇到了一个带有php curl请求的奇怪情况。 当脚本从与运行它的服务器相同的本地网络中调用时,但是当有人从外部调用它时,它不能正常工作。 这是我的代码:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, ROOT_DIR."directory/someScript.php");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    $output = curl_exec($ch);
    curl_close($ch);

当我甚至从局域网外部手动运行someScript.php时,它工作得很好。只有当我尝试通过另一个PHP脚本使用curl调用它来运行它时才会出现问题。 有人有什么想法吗? curl库已启用。两个脚本都在同一台服务器上。 我在端口80上使用端口转发使服务器在Internet上可见。

1 个答案:

答案 0 :(得分:0)

我决定发布解决方案以防其他人遇到同样的问题。 最后我找到了原因。问题是我使用外部IP而不是内部IP调用脚本。更进一步,因为这个XAMPP将调用重定向到其默认页面,因为我没有使用输出,所以我没有注意到。