我有这个脚本使用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地址,我不知道。