Установите пакеты PECL на ubuntu

получил ту же проблему, верхнее решение не работает, но у меня есть решение для этого.

root@imt:~# sshd
sshd re-exec requires execution with an absolute path
ssh localhost
ssh: connect to host localhost port 22: Network is unreachable

Путь в порядке в соответствии с документом, поэтому я запускаю вручную sshd.

[ f2]

/ var / run / sshd.

root@imt:~# ls -ld /var/run/sshd
drwsrwsrwt 2 root root 40 Jan  5 12:58 /var/run/sshd

root@imt:~# chmod 755 /var/run/sshd

, тогда его штраф. запустите ssh localhost и проверьте.

root@imt:~# ssh localhost 
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
Are you sure you want to continue connecting (yes/no)? yes
1
задан 10 January 2014 в 15:48

2 ответа

В дополнение к ответу @ Ask мне также нужно было сделать:

sudo apt-get install libpcre3-dev

перед запуском pecl install pecl_http, потому что я получал эту ошибку об pcre.h:

фатальная ошибка : pcre.h: Никакая такая компиляция файла или каталога не завершена.

Кроме того, вместо редактирования файла php.ini я создал новый файл под названием pecl-http.ini в подкаталоге conf.d, где находился файл php.ini, (на ubuntu /etc/php5/apache2/conf.d)

И мне нужно было добавить три строки:

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

Наконец, поскольку эта установленная версия 2.0.6 я не мог использовать функцию http_get_request_headers, но мне нужно было вместо нее использовать пространство имен версия, \http\Env::getRequestHeader() см. подробнее здесь

ps: не забудьте перезапустить apache, когда вы закончите (service apache2 restart)

4
ответ дан 24 May 2018 в 13:10
  • 1
    Хороший звонок; Хотелось бы, чтобы я прочитал ваш ответ, прежде чем отправился на охоту за libcre-dev. Я также должен добавить, что в my случае мне нужно было добавить extension=json.so перед линией http.so , несмотря на то, что уже имеет файл json.ini, включенный в conf.d. – M1ke 2 December 2014 в 16:10

В дополнение к ответам Maythux и cwd вы можете не захотеть редактировать файл php.ini, поскольку эти изменения могут потеряться при обновлениях.

Debian (и, следовательно, Ubuntu) обрабатывает модули php в аналогично модулю apache. Посмотрите на /etc/php5, вы найдете такие каталоги:

apache2/
cli/
mods-available/

Когда вы смотрите в mods-available, вы видите несколько файлов, таких как:

curl.ini
gd.ini
json.ini
mysql.ini
…

Чтобы включить / отключить эти доступные моды для всех API (apache, cli, cgi), вы можете просто использовать команды php5enmod или php5dismod следующим образом:

$ sudo php5enmod curl

соответственно

$ sudo php5dismod curl
5] Они создадут (или удаляют) символические ссылки в конфигурационный файл модуля в apache2/conf.d/ и cli/conf.d/.

Вы также можете указать sapi для включения / отключения мод для (apache в этом случае ):

$ sudo php5enmod -s apache2

pecl install не может создать файл конфигурации для raphf (и других модулей, установленных с ним), но вы можете создать его самостоятельно:

$ sudo touch /etc/php5/mods-available/raphf.ini
8] Затем напишите в следующих строках:

; configuration for php raphf module
; priority=20
extension=raphf.so

Приоритет по умолчанию - 20. Он может зависеть от типа модуля, который вы должны использовать. Для raphf 20 кажется прекрасным. (Обновление: если вы ищете pecl_http, начиная с версии 2, он должен быть загружен после rapfh и propro, поэтому установите приоритет в mods-available/http.ini на 30.)

[d11 ] С этим вы можете включить модуль:

$ sudo php5enmod raphf

(Примечание: мой ответ зависит от Ubuntu 14.04, но может работать одинаково для 13.04, см. Http://www.lornajane.net/posts / 2012 / management-php-5-4-extensions-on-ubuntu)

1
ответ дан 24 May 2018 в 13:10

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

Похожие вопросы: