Обновление Сегодня у меня снова возникла проблема с запуском PHP 7, несмотря на то, что я отключил php7.0 модуль apache: phpinfo показывал php 7 с использованием FastCGI ... ... Поэтому, если после выполнения приведенных ниже инструкций вы столкнетесь с такой ситуацией, вам может потребоваться отключить proxy_fcgi модуль apache:
sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart
На самом деле не требуется удалять php7.0, вы можете установить php5.6 вместе ( также потому, что у вас возникнет проблема с зависимостями с phpmyadmin пакет, для которого требовался php7.0)
Предполагая, libapache2-mod-php является ли для вас подходящим способом включить PHP в Apache, вы можете поступить следующим образом:
Ubuntu 16.04 поставляется с php 7.0, и некоторые php приложения все еще могут завершаться сбоем с php 7.0 .Поэтому в некоторых случаях может быть разумно иметь оба php 7.0 и php 5.x, так что вы можете выбрать, какую версию использовать для ваших нужд в любое время.
Установка обоих php5.6 & php7.0 в моем случае все было чисто: никаких жалоб на проблемы и т.д.
Чтобы переключиться с php 5.6 к php 7.0 вам нужно сделать две вещи:
# For php in web appssudo a2dismod php5.6 && sudo a2enmod php7.0 && sudo service apache2 restart# For php-cli in the command linesudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php
или с php7.0 на php5.6:
# For php in web appssudo a2dismod php7.0 && sudo a2enmod php5.6 && sudo service apache2 restart# For php-cli in the command linesudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php
Вы также можете быстро проверить, какой из них используется вашим, запустив php -v.
В вашем вопросе не хватает важных деталей, поэтому я отвечу более широко.
Предполагая, что вы используете пакеты, есть некоторые важные детали:
Apache2 может быть настроен на использование либо apache2 САПИ, использующий libapache2-mod-php7.0 пакет или FPM SAPI с использованием php7.0-fpm с mod_proxy_fcgi.
Ubuntu 16.04 имеет только PHP 7.0 в репозиториях, вы можете использовать ppa:ondrej/php чтобы добавить поддержку PHP 5.6, используя аналогичную схему именования (например libapache2-mod-php5.6 или php5.6-fpm).
Если вы используете Apache2 SAPI (libapache2-mod-php*), вам необходимо отключить PHP 7.0 после установки libapache2-mod-php5.6 запустив a2dismod php7.0 и включите PHP 5.6, запустив a2enmod php5.6.
Если вы используете FPM SAPI (php*-fpm) затем вам нужно изменить сокет FPM unix с /run/php/php7.0-fpm.sock к /run/php/php5.6-fpm.sock.
Пожалуйста, помните, что для модулей, поставляемых в комплекте с PHP (например, MySQL), соглашение об именовании является phpX.Y-<ext> (например. php7.0-mysql и php5.6-mysql), но для внешних модулей PECL (например, APCu, mongodb, ...) это просто php-<ext> (например. php-apcu, php-mongodb). Я рекомендую запустить apt-cache search php <ext> в вашей системе для поиска правильного имени пакета, прежде чем задавать вопросы в Интернете.
Я вижу там несколько пакетов php7, удаляю их с помощью “aptitude purge php7.0-common php7.0-json php7.0-xml” также я хочу знать, что вы подразумеваете под “весь мой php теперь отображается в виде текста”
Я удалил пакеты php7, но страницы по-прежнему остаются текстовыми. В данный момент я, кажется, хожу по кругу. Я обновлю эту страницу, когда разберусь с ней.