尝试在 Ubuntu 14.04 上安装 PHP 5.6

Jus*_*ake 6 php apt tar make 14.04

我正在尝试在 Ubuntu 14.04 上安装 PHP 5.6。我尝试了很多不同的东西,但都没有奏效。首先,我尝试通过此 repo 下载:

sudo add-apt-repository ppa:ondrej/php5-5.6

其次是:

sudo apt install php5

由于我能找到的大多数谷歌结果都告诉我去做,但是当我检查时php -v我发现我仍然在 5.9.9 上,这对我需要的东西没有用。

我也试过:

sudo apt install php5.6

正如我在其他地方看到的那样,但我只是收到一条消息,说存储库不存在。

我也尝试使用此存储库进行安装:

sudo add-apt-repository ppa:ondrej/php5

如此问题中所列:Apache 未使用 PHP 5.6,而是使用 PHP 5.5

但是存储库似乎不再存在。

我还尝试从 tarball 安装 PHP 5.6.10 和 5.6.12,但我似乎无法使 tarball 中包含的安装说明正常工作,并且无法在包含 Makefile.frag、Makefile 的目录中运行make或运行make install。 gov 等什么都不做。

是否有另一种方法来安装所需的 PHP 版本,或者任何人都可以告诉我如何安装上述任何一个压缩包,现在我已经解压并解压了它们?我找到了一个建议找到“dbase”文件夹的指南,但这些特定版本的 PHP 似乎不存在。

我也尝试安装 PHP 7.0,但发现这不适用于我需要使用的 Laravel 存储库(我也尝试使用 Vagrant Homestead 安装正确版本的 PHP,但这在我的系统上产生了其他问题) .

我试图跑

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

在根目录中,tarball 已解压缩,但尽管 ./configure 似乎工作正常,但当我运行时,make我看到:

make: *** 没有指定目标,也没有找到 makefile。停止。

我已经试过运行:

sudo apt-get install libapache2-mod-php5.6
Run Code Online (Sandbox Code Playgroud)

根据链接到类似问题的答案标记为可能与我的重复。这导致此输出:

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'"
Run Code Online (Sandbox Code Playgroud)

即使在添加此存储库之后:

sudo add-apt-repository ppa:ondrej/apache2
Run Code Online (Sandbox Code Playgroud)

Geo*_*sen 3

由于您正在寻找较旧的php 版本,因此您需要自己编译它,步骤如下:

  1. 删除所有已安装的php 版本
    • 使用:
      • sudo add-apt-repository -r repository_name
      • sudo apt update
      • sudo apt dist-upgrade
  2. 从这里下载您想要的版本
  3. 为了避免编译错误安装依赖项:

    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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 创建用于构建的目录:

    • mkdir -p /opt/build
  5. 将下载的文件解压到创建的目录中:
    • tar -xvjpf /path/to/download/location -C /opt/build
  6. 移入文件夹:
    • cd /opt/build/
  7. 现在配置它以满足您的需求,这是一个示例配置:

    ./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
    
    Run Code Online (Sandbox Code Playgroud)
  8. 运行以下命令:

    • make
    • make test
  9. 如果一切顺利,然后安装:

    • make install
  10. 确认安装:

    • /opt/PHP-5.6/bin/php -v
  11. php位置添加到您的.bashrc文件中:

    • export PATH=/opt/PHP-5.6/bin:$PATH

笔记:

当需要时,您必须手动更新您的 php 安装。-