2015-07-01 3 views
0

У меня действительно странная проблема, и я не знаю, как ее отладить. Может быть, опытный разработчик может мне помочь. У меня есть следующий код:curl работает в браузере и osx cli, но не работает с phpstorm cli

$url = 'https://home.mobile.de/home/ses.html?customerId=471445&json=true&_='.time(); 
echo $url; 
$agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'; 

// Initiate curl 
$ch = curl_init(); 
// Activate debugging 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
// Disable SSL verification 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
// Will return the response, if false it print the response 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
// Set browser user agent 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
// Set the url 
curl_setopt($ch, CURLOPT_URL,$url); 
// Execute 
$result=curl_exec($ch); 
// Closing 
curl_close($ch); 

$php_object = json_decode($result); 
var_dump($php_object); 

Я поместил этот код в php-файл под названием playground.php. Если я открою playground.php с помощью Chrome (я использую MAMP в качестве локального сервера), тогда все работает так, как ожидалось. Также, если я запускаю командную строку osx «php playground.php», она работает так, как ожидалось, но по какой-либо причине она не работает, если я запускаю ее внутри клипа Phpstorm, как показано ниже.

enter image description here

Любая идея, что может быть не так, и как я могу отлаживать этот вопрос?

Большое спасибо заранее.

+1

Если вы запустите 'who php' на терминале, вы получаете другой путь от использования в настройках PhpStorm? Это может быть связано с разными версиями php, поскольку PhpStorm, вероятно, использует встроенную версию. Возможно, вам нужно включить его в php.ini или что-то еще :) EDIT: это может быть полезно; https://www.jetbrains.com/phpstorm/help/configuring-local-php-interpreters.html –

+0

@Ciccio PhpStorm не имеет каких-либо «встроенных» PHP-программ - он использует только ваши (независимо от того, что вы настраиваете как PHP-интерпретатор) – LazyOne

+0

В настоящий момент это скорее похоже на проблему с брандмауэром/прокси (не удалось выполнить исходящий запрос) ... – LazyOne

ответ

0

Благодаря LazyOne я смог узнать, что правило брандмауэра блокирует исходящий запрос. Большое спасибо!

Смежные вопросы