Добавлено следующее под 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
Что мне не хватает?
Я наткнулся на ту же проблему. 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
или если вы скомпилировали из исходников, поэтому ваш опыт может отличаться.