2

Я только недавно обновил PHP 5.3 до 5.4 на моем сервере Debian Squeeze. Теперь вместо того, чтобы выполнять файлы PHP, Apache просто загружает их, что очень плохо.

Когда я пытаюсь выполнить эти шаги, я получаю "битые пакеты" при установке libapache2-mod-php5 .

Также ответ говорит мне добавить что-то в мой httpd.conf, но оно пустое.

Вопрос: Как я могу заставить apache снова запускать php-файлы, вместо того, чтобы просто передавать их при загрузке?

dpkg -l | grep php возвращает это

rc  libapache2-mod-php5                 5.3.3-7+squeeze15            server-side, HTML-embedded scripting language (Apache 2 module)
rc  php5-cli                            5.3.3-7+squeeze15            command-line interpreter for the php5 scripting language
ii  php5-common                         5.4.15-1~dotdeb.2            Common files for packages built from the php5 source
rc  php5-gd                             5.3.3-7+squeeze15            GD module for php5
rc  php5-mcrypt                         5.3.3-7+squeeze15            MCrypt module for php5
rc  php5-mysql                          5.3.3-7+squeeze15            MySQL module for php5
rc  php5-suhosin                        0.9.32.1-1                   advanced protection module for php5
rc  phpmyadmin                          4:3.3.7-7                    MySQL web administration tool

И apt-get install libapache2-mod-php5 выдает эту ошибку

The following packages have unmet dependencies:
 libapache2-mod-php5 : Depends: libdb5.1 but it is not installable
                       Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
                       Depends: libxml2 (>= 2.8.0) but 2.7.8.dfsg-2+squeeze7 is to be installed
                       Recommends: php5-cli but it is not going to be installed
E: Broken packages

1 ответ1

1

Это сообщение означает, что libapache2-mod-php5 не установлен (rc означает удаленный (1-я буква, r), но файлы конфигурации не удалены (2-я буква c)). Поэтому, чтобы apache снова запускал php-файлы, вам нужно будет переустановить его.

Ваш менеджер пакетов говорит, что у вас есть неудовлетворенные зависимости. По сути, как бы умно он ни был, он не мог придумать способ сделать то, что вы просили сделать (возможно, во время обновления), поэтому вам нужно понять это самостоятельно. Смотрите этот вопрос для подробной процедуры. Вопрос конкретно об Ubuntu, но большинство из них применимо и к Debian.

Короче говоря, вам нужно выяснить, почему эти пакеты не устанавливаются. Используйте apt-get install libdb5.1 чтобы выяснить, почему libdb5.1 не может быть установлен, затем apt-get install libssl1.0.0 и, наконец, apt-get install libxml2 . Это, в свою очередь, укажет вам на некоторые другие пакеты, которые отсутствуют или имеют неправильную версию. Как только вы выясните, в чем проблема, вам, вероятно, потребуется apt-get install -f этот пакет (-f означает force).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .