У меня действительно странная проблема, и я не знаю, как ее отладить. Может быть, опытный разработчик может мне помочь. У меня есть следующий код: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, как показано ниже.
Любая идея, что может быть не так, и как я могу отлаживать этот вопрос?
Большое спасибо заранее.
Если вы запустите 'who php' на терминале, вы получаете другой путь от использования в настройках PhpStorm? Это может быть связано с разными версиями php, поскольку PhpStorm, вероятно, использует встроенную версию. Возможно, вам нужно включить его в php.ini или что-то еще :) EDIT: это может быть полезно; https://www.jetbrains.com/phpstorm/help/configuring-local-php-interpreters.html –
@Ciccio PhpStorm не имеет каких-либо «встроенных» PHP-программ - он использует только ваши (независимо от того, что вы настраиваете как PHP-интерпретатор) – LazyOne
В настоящий момент это скорее похоже на проблему с брандмауэром/прокси (не удалось выполнить исходящий запрос) ... – LazyOne