file_get_contents仅适用于不在服务器

时间:2017-09-21 21:10:56

标签: php http curl file-get-contents sms-gateway

我有这个脚本使用HTTP调用从Android手机发送短信:

    $number = "+421904xxxxxx";
    $message = "ahoj";
    $invoke_url='http://[fe80::cefd:17ff:fe70:4351]:9090/sendsms';
    $cell_number = $number;
    $messagesms = str_replace(' ','%20',$message);
    $passwordsms = '***********';
    $url = $invoke_url . '?phone=' . $cell_number  . '&text=' . $messagesms . '&password=' . $passwordsms;
    var_dump($url);
    $response = file_get_contents($url);
    if (!$response)
    {
        var_dump($response);
    }
    else
    {
        var_dump($response);
    }

它在localhost上完美运行,我收到消息SENT结果并收到消息:

C:\wamp\www\ridebook\src\setup\testing.php:35:string 'http://[fe80::cefd:17ff:fe70:4351]:9090/sendsms?phone=+421904xxxxxx&text=ahoj&password=***********' (length=92)
C:\wamp\www\ridebook\src\setup\testing.php:43:string '<html>
<body>
Mesage SENT!<br/>
</body>
</html>' (length=47)

但是在网络服务器上失败了:

string(92) "http://[fe80::cefd:17ff:fe70:4351]:9090/sendsms?phone=+421904xxxxxx&text=ahoj&password=***********" 
Warning: file_get_contents(http://[fe80::cefd:17ff:fe70:4351]:9090/sendsms?phone=+421904xxxxxx&text=ahoj&password=***********): failed to open stream: Invalid argument in /home/*******/*****/setup/testing.php on line 36
bool(false)

问题出在哪里,我读了很多,我试过curl,这又适用于localhost。我有其他卷发在服务器上运行良好。

此外,服务器上没有限制“allow_url_fopen”为“true”。

两者的Url字符串相同。

如果我将此地址复制到网址栏再次运作良好。

可能是什么问题?也许是因为IPv6地址,我不知道。

0 个答案:

没有答案