Неопределенная функция php http_post_data на сервере Ubuntu

Добавлено следующее под Dynamic Extensions в обоих файлах php.ini (Apache, и обычный, найденный с: sudo updatedb && locate php.ini)

extension=raphf.so
extension=propro.so
extension=http.so

Запустил следующие установки, которые все работали:

sudo apt-get install libpcre3-dev php5-dev php-pear
sudo pecl channel-update pecl.php.net
sudo pecl install pecl_http

Тем не менее, тестирование все равно не удается

php -r 'http_post_data();'
PHP Fatal error:  Call to undefined function http_post_data() in Command line code on line 1
PHP Stack trace:
PHP   1. {main}() Command line code:0

Что мне не хватает?

2 ответа

Сам столкнулся с той же проблемой. http_post_data() предоставляется версией v1 этого расширения PECL, а не версией v2, которая устанавливается по умолчанию.

Переустановить через pecl install -f pecl_http-1.7.6

После этого:

php -r 'http_post_data();'
PHP Warning:  http_post_data() expects at least 2 parameters, 0 given in Command line code on line 1

Ubuntu PHP обычно поставляется с некоторыми функциями помощи php5enmod а также php5dismod, Эти карты для включения модулей по имени, найденному в /etc/php5/mods-available и ссылки на них в зависимости от /etc/php5/[SAPI]/conf.dгде sapi обычно "cli", "fpm" или "apache2".

Я бы проверил, чтобы убедиться, что ini-файлы, на которые вы ссылались, предположительно находятся в /etc/php5/mods-available были связаны с /etc/php5/cli/conf.d и / или /etc/php5/apache2/conf.d, Ты можешь использовать sudo php5enmod -s ALL mod_name_here создать эти символические ссылки для вас для всех SAPI (cli, apache и т. д.). "mod_name_here" - это обычно имя файла INI, созданного за вычетом .ini Удлинительная часть.

Я делаю некоторые предположения о вашей системе, хотя, например, я не знаю, если вы установили PHP из apt-get/aptitude или если вы скомпилировали из источника, ваш пробег может отличаться.

Другие вопросы по тегам