после некоторых обновлений мой сервер Debian (на котором запущен Apache 2.2), похоже, пропускает libphp5.so
. Запуск Apache приводит к сообщению об ошибке
sudo service apache2 restart
apache2: Syntax error on line 244 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load:
Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
failed!
Однако попытка переустановить libapache5 приводит к
sudo apt-get install libapache2-mod-php5
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libapache2-mod-php5 : Depends: apache2-api-20120211
Depends: apache2 (>= 2.4)
udev : Depends: libudev1 (= 215-5+b1) but 215-6 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
и apt-get -f install
не смог решить проблему. Он хочет установить пакет udev
но заканчивается ошибкой
insserv: script apache: service apache2 already provided!
Errors were encountered while processing:
/var/cache/apt/archives/udev_215-6_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я не знаю что делать Как мне снова запустить Apache?
редактировать
dpkg -C
The following packages are only half configured, probably due to problems
configuring them the first time. The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
dictionaries-common Common utilities for spelling dictionary tools
dovecot-core secure POP3/IMAP server - core files
ls -ldL /usr/lib/apache2/modules/libphp5.so
. Наверное да, его нет, поэтому идем дальше по этой ветке.dpkg -C
вы можете проверить, есть ли в вашей системе поврежденные пакеты. Если да, то сначала нужно решить эту проблему.apt-get --reinstall install libapache2-mod-php5
. Ключ - это --reinstall
флаг, без него ничего не произошло, даже если ваша система не повреждена.Комментарий к расширению: тогда у вас должен быть четкий dpkg -C
вывод (нет поврежденных пакетов). Следующее, что я вижу, это то, что у вас, вероятно, есть какое-то несоответствие между версиями ваших пакетов и между вашим фактическим репозиторием debian (ubuntu). Сначала проверьте, все ли у вас установлены последние обновления: apt-get update
, apt-get dist-upgrade
.
Если работает, вы готовы. Если нет, то, вероятно, нужно какое-то хитрое решение. На вашем месте я удалил несколько проблемных пакетов (dpkg --purge
для индивидуальных пакетов, или apt-get --purge remove
чтобы удалить пакеты со всеми их зависимостями), а затем попытался переустановить их. Если ничего не работает, я удалил все apache2 и php.
Но будьте осторожны: удаление пакетов путем очистки удаляет их конфигурацию в /etc
также. Сделайте резервную копию всего /etc
(или хотя бы из /etc/apache2
) до этого!
P.s. Не исключено, что ваше настоящее зеркало debian действительно не в порядке. Что в твоем /etc/apt/sources.list
?