2012-09-06 1 views
4

J'ai configuré localement 2 serveurs Apache sur le port 80 et le port 81 en utilisant XAMPP. Iam réussi à y accéder via mon navigateur. Actuellement, l'URL est accessible àPHP Curl sur le port 81

http://27.4.198.225/ncmsl/check.php 

et

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

Lorsque je tente d'écrire un code simple boucle pour les

$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); 

Il fonctionne parfaitement bien pour le serveur sur le port 80, mais ne fonctionne pas pour le serveur au port 81, c.-à-d.

$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); 

Quelle pourrait être la raison possible? J'ai essayé d'employer CURLOPT_PORT mais cela ne fonctionne pas également

Ces URL sont l'URL de phase. Quelqu'un peut-il vérifier si elles sont en mesure avec succès leur accès à l'aide Thei propre code CURL sur leur propre réseau

+0

peut-être le port est bloqué pour php, avez-vous apparmor installé? – Hawili

+0

@Hawili Désolé, j'utilise Windows donc pas apparmor. Mais je pense que si je suis en mesure d'accéder au port via le navigateur, il ne devrait pas être bloqué. Quoi qu'il en soit, comment puis-je vérifier que dans les fenêtres –

+1

consultez ce http://stackoverflow.com/a/1933514/718224 –

Répondre

5

Essayez cette

curl_setopt ($ch, CURLOPT_PORT , 81); 

code de mise à jour: -

voir l'adresse suivante: - 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

Comme je l'ai dit dans ma question, j'ai essayé d'utiliser CURLOPT_PORT mais cela ne fonctionne pas non plus. Ces URL sont des URLs en direct. Quelqu'un d'autre peut accéder à ces URL en utilisant CURL –

+0

J'ai mis à jour ma réponse s'il vous plaît jeter un oeil. –

+0

AdvaitAmin Je viens de me renvoyer à la même URL, et je n'ai pas pu accéder à l'URL via CURL en utilisant le même code. Mais si vous êtes capable de le faire avec le code mentionné ci-dessus, cela signifie que j'ai un problème avec mon réseau client qui bloque le port 81 –

0

Jetez un oeil à CURLOPT_PORT dans le manuel pour curl_setopt()

+0

Comme je l'ai dit dans ma question, j'ai essayé d'utiliser CURLOPT_PORT, mais cela ne fonctionne pas non plus. –

0

Utilisez celui-ci pour spécifier le port,

curl_setopt($ch, CURLOPT_PORT, 81); 
0

Essayez ceci:

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