2012-09-06 67 views
4

我已经使用XAMPP在端口80和端口81上本地设置了2个Apache服务器。 Iam成功地通过我的浏览器访问它们。目前,该URL可以在在81端口上的PHP卷曲

http://27.4.198.225/ncmsl/check.php 

http://27.4.198.225:81/ncmsl/check.php. 

访问当我尝试为他们写一个简单的卷曲代码

$ch=curl_init();      
$url = "http://27.4.198.225/ncmsl/check.php"; 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_exec($ch); 
curl_close($ch); 

它在80端口工作完全正常的服务器,但不适用于端口81的服务器,即

$ch=curl_init();      
$url = "http://27.4.198.225:81/ncmsl/check.php"; 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_exec($ch); 
curl_close($ch); 

可能的原因是什么?我曾尝试使用CURLOPT_PORT,但这也不起作用

这些URL是实时URL。任何人都可以检查它们是否能够成功使用兵卫自己卷曲的代码来访问它们自己的网络上

+0

也许端口被阻塞的PHP,你已经安装了AppArmor的? – Hawili

+0

@Hawili对不起,我正在使用Windows,所以没有apparmor。但我认为,如果我能够通过浏览器访问端口,那么它不应该被阻止。反正我怎么能检查窗口 –

+1

看看这个http://stackoverflow.com/a/1933514/718224 –

回答

5

试试这个

curl_setopt ($ch, CURLOPT_PORT , 81); 

更新代码: -

看到这个网址: - php curl problem

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
curl_setopt($ch, CURLOPT_URL, 'http://27.4.198.225:81/ncmsl/check.php'); 
$store = curl_exec ($ch); 
echo substr($store, 1); 
curl_close ($ch); 
+0

正如我在我的问题所述,我尝试使用CURLOPT_PORT,但也不起作用。这些URL是实时URL。其他人可以使用CURL访问这些URL –

+0

我有更新我的答案请看看。 –

+0

AdvaitAmin刚把我引到同一个网址,我无法使用相同的代码通过CURL访问URL。但是,如果你能够与你上面提到的代码做到这一点,意味着我有我的客户端网络阻塞端口81有问题 –

0

看看CURLOPT_PORT手册里curl_setopt()

+0

访问这些URL正如我在我的问题中所述,我尝试使用CURLOPT_PORT,但也不起作用。 –

0

使用这一个指定端口,

curl_setopt($ch, CURLOPT_PORT, 81); 
0

试试这个:

curl_setopt($ch, CURLOPT_PORT, $_SERVER['SERVER_PORT']);