Я хотел проверить некоторые основные функции http_request (то есть: echo http_request(HTTP_METH_GET,"http://www.example.com");
), но расширения PECL, похоже, не работают в среде Cloud9. Что странно, потому что подсказки кода показывают, что http_request и http_response_code оба доступны, что похоже на то, что расширения PECL установлены. Есть трюк, который мне не хватает? спасибоЯвляются ли PHP PECL расширениями на Cloud9 работоспособными?
0
A
ответ
2
Вы должны установить эти пакеты первой:
sudo apt-get install php-http
sudo apt-get install php5-dev
sudo apt-get install libcurl3
sudo apt-get install libpcre3-dev
sudo apt-get install libcurl4-openssl-dev
sudo pecl install raphf
sudo pecl install pecl_http-1.7.6
Затем измените конфигурацию php.ini (добавьте строки с "расширением" и изменить enable_dl от Off Вкл):
enable_dl = On
extension = raphf.so
extension = propro.so
extension = hash.so
extension = iconv.so
extension = json.so
extension = http.so
Затем остановите и запустите проект, и PECL/HTTP должен работать правильно.
Я попробовал этот код и работает отлично:
$r = new HttpRequest('http://rss.cnn.com/rss/edition.rss', HttpRequest::METH_GET);
$r->addQueryData(array('category' => 3));
$r->send();
if ($r->getResponseCode() == 200)
print $r->getResponseBody();
Так что делает трюк, но я не могу получить доступ к любому из методов HttpRequest. Я должен использовать массив & $ info. Это по дизайну или ограничению Cloud9 ?? –
@JohnR Я добавил код ответа, который я успешно запускаю в Cloud9 –