2016-06-29 5 views
0

С момента моего обновления с PHP 5.5.9 до 5.6 на моем сервере Ubuntu 14.04 LTS у меня возникают проблемы с библиотекой ожиданий для PHP. Он продолжает отображать Fatal error в описании. Я считаю, что пакет, который мне нужен, это libexpect-php5. Некоторые проверки установки убедитесь, что он установлен:Неустранимая ошибка: вызов неопределенной функции expect_popen()

[email protected]:/etc/php5/conf.d$ dpkg --get-selections | grep -v deinstall | grep expect 
empty-expect       install 
expect         install 
expect-dev        install 
expect-lite        install 
libexpect-ocaml       install 
libexpect-ocaml-dev      install 
libexpect-perl       install 
**libexpect-php5**      install // installed right? 
libexpect-simple-perl     install 
libghc-hspec-expectations-dev   install 
libghc-hspec-expectations-doc   install 
libghc-hspec-expectations-prof   install 
libnet-scp-expect-perl     install 
libtest-expect-perl      install 
netexpect        install 
python-pexpect       install 
python-pexpect-doc      install 
python3-pexpect       install 

и

[email protected]:/etc/php5/conf.d$ expect -v 
expect version 5.45 

и expect.so файлы:

[email protected]:/usr/lib$ ls | grep expect 
libexpect.so 
libexpect.so.5 
libexpect.so.5.45 

и, наконец, мое/и т.д./php5/apache2/PHP. ini file:

extension=expect.so 

Мне пришлось установить libexpect-ph5, загрузив и установив файл .deb вручную, потому что он ошибался в отношении неустановленной зависимости api ... Теперь, когда я делаю и apt-get update & & apt-get upgrade он продолжает говорить мне об этом:

The following packages have been kept back: 
    libexpect-php5 

Просто установка этого пакета что-то делает, но система все равно сохранит пакет. Это оставляет мне версию PHP, которая не знает о функции expect_popen().

Как это решить?

+0

Привет, Вы пытались перезапустить apache или сервер, чтобы проверить, не требуется ли изменений при обновлении? –

+0

@JuanGarcia Да, несколько раз, но ничего не изменилось ;-( – Beeelze

ответ

2

Я узнал, что Apache2 загружал неправильный файл php.ini. Начиная с обновления до PHP 5.6, путь также изменился (конечно).

Старое Расположение:

/etc/php/apache2/php.ini 

Новое место:

/etc/php/5.6/apache2/php.ini 

Вместе с тем я должен был указать точный путь к моему расширению expect.so в php.ini.

Смежные вопросы