На этот вопрос уже есть ответ здесь:
Я пытаюсь установить PHP 5.6 на Ubuntu 14.04. Я перепробовал множество разных вещей, но ни один из них не помог. Для начала я попытался загрузить через это репо:
sudo add-apt-repository ppa: ondrej / php5-5.6
Затем следует:
sudo apt install php5
Как и большинство результатов Google Я могу найти подсказки, но когда я проверяю php -v
, я обнаруживаю, что все еще использую 5.9.9, что бесполезно для того, что мне нужно.
Я также пробовал:
sudo apt install php5.6
Как я видел в другом месте, я просто получаю сообщение о том, что репозиторий не существует.
Я также пробовал установить, используя этот репозиторий:
sudo add-apt-repository ppa: ondrej / php5
Как указано в этом вопросе: PHP 5.6 не используется Apache, вместо этого он использует PHP 5.5
Но хранилища, похоже, больше не существует.
Я также пробовал установить PHP 5.6.10 и 5.6.12 из tarballs, но я не могу заставить работать инструкции по установке, содержащиеся в tarballs, и запустил либо make
, либо make install
из каталога, содержащего Makefile.frag , Makefile.gov и т. Д. Ничего не делает.
Есть ли другой способ установить требуемую версию PHP, или кто-нибудь, возможно, может дать мне инструкции по установке любого из вышеуказанных архивов после того, как я разархивировал и распаковал их? Я нашел руководство, предлагающее найти папку «dbase», но, похоже, ее не существует в этих конкретных версиях PHP.
Я также пробовал установить PHP 7.0, но обнаружил, что это не работает с репозиторием Laravel, с которым мне нужно работать (я также пробовал использовать Vagrant Homestead для установки правильной версии PHP, но это вызвало другие проблемы на моя система).
Я попытался запустить
./configure
make
make install
В корневом каталоге, в который был распакован архив, но хотя ./configure, похоже, работает нормально, когда я запускаю make
, я вижу:
make: *** Цели не указаны, и make-файл не найден. Стоп.
Я уже пробовал запустить:
sudo apt-get install libapache2-mod-php5.6
Согласно ответу на связанный с аналогичным вопросом вопрос, помеченный как мой возможный дубликат. В результате получается следующий результат:
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libapache2-mod-php5.6 E: Couldn't find any package by regex 'libapache2-mod-php5.6'"
Даже после добавления этого репозитория:
sudo add-apt-repository ppa:ondrej/apache2
Начиная с Вашего поиска более старой php версии Вы должны будете скомпилировать его сами и здесь являетесь шагами:
sudo add-apt-repository -r repository_name
sudo apt update
sudo apt dist-upgrade
Для предотвращения ошибок компиляции устанавливают зависимости:
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libbz2-dev libjpeg-dev \
libfreetype6-dev libpng12-dev libxpm-dev libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev \
libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libmysqlclient-dev libt1-dev libgd2-xpm-dev \
libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev \
libxslt1-dev libmcrypt-dev libdb5.3-dev
Создайте каталог для создания:
mkdir -p /opt/build
tar -xvjpf /path/to/download/location -C /opt/build
cd /opt/build/
Теперь настройте его для удовлетворения потребностям, вот конфигурация в качестве примера:
./configure \
--enable-fpm \
--with-mcrypt \
--enable-mbstring \
--with-openssl \
--with-mysql \
--with-mysql-sock \
--with-gd \
--with-jpeg-dir=/usr/lib \
--enable-gd-native-ttf \
--with-pdo-mysql \
--with-libxml-dir=/usr/lib \
--with-mysqli=/usr/bin/mysql_config \
--with-curl \
--enable-zip \
--enable-sockets \
--with-zlib \
--enable-exif \
--enable-ftp \
--with-iconv \
--with-gettext \
--enable-gd-native-ttf \
--with-t1lib=/usr \
--with-freetype-dir=/usr \
--prefix=/opt/PHP-5.6 \
--with-config-file-path=/opt/PHP-5.6/etc \
--with-fpm-user=www-data \
--with-fpm-group=www-data
Выполните следующие команды:
make
make test
Затем установите, если все подходит:
make install
Подтвердите установку:
/opt/PHP-5.6/bin/php -v
Добавьте php местоположение к своему .bashrc файлу:
export PATH=/opt/PHP-5.6/bin:$PATH
Примечание:
Необходимо будет вручную обновить установку php, когда Вы должны. -