在 LAMPP for Ubuntu 中将 PHP 从 5.5 升级到 5.6

Posted

技术标签:

【中文标题】在 LAMPP for Ubuntu 中将 PHP 从 5.5 升级到 5.6【英文标题】:Upgrade PHP to 5.6 from 5.5 in LAMPP for Ubuntu 【发布时间】:2016-05-07 02:05:24 【问题描述】:

Ubuntu 版本:14.04

/opt/lampp 下有 php5.5 的现有 LAMPP 安装

我只需要更新到 PHP 5.6。 遵循以下步骤,但在 make install 步骤中失败

cd ~/downloads
wget http://ar2.php.net/distributions/php-5.6.17.tar.gz
tar -xzf php-5.6.17.tar.gz
sudo mv php-5.6.17 /usr/src/php-5.6.17

/opt/lampp/bin/php --info | grep "配置命令"

./configure  --prefix=/opt/lampp --with-apxs2=/opt/lampp/bin/apxs --with-config-file-path=/opt/lampp/etc --with-mysql=mysqlnd --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-ftp --enable-gd-native-ttf --enable-magic-quotes --enable-shmop --disable-sigchild --enable-sysvsem --enable-sysvshm --enable-wddx --with-gdbm=/opt/lampp --with-jpeg-dir=/opt/lampp --with-png-dir=/opt/lampp --with-freetype-dir=/opt/lampp --with-zlib=yes --with-zlib-dir=/opt/lampp --with-openssl=/opt/lampp --with-xsl=/opt/lampp --with-ldap=/opt/lampp --with-gd --with-imap=/bitnami/xamppunixinstallerstackDev-linux-x64/src/imap-2007e --with-imap-ssl --with-gettext=/opt/lampp --with-mssql=/opt/lampp --with-sybase-ct=/opt/lampp --with-mysql-sock=/opt/lampp/var/mysql/mysql.sock --with-oci8=shared,instantclient,/opt/lampp/lib/instantclient --with-mcrypt=/opt/lampp --with-mhash=/opt/lampp --enable-sockets --enable-mbstring=all --with-curl=/opt/lampp --enable-mbregex --enable-zend-multibyte --enable-exif --with-bz2=/opt/lampp --with-sqlite=shared,/opt/lampp --with-sqlite3=/opt/lampp --with-libxml-dir=/opt/lampp --enable-soap --enable-pcntl --with-mysqli=mysqlnd --with-pgsql=shared,/opt/lampp/ --with-iconv=/opt/lampp --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/opt/lampp/postgresql --with-pdo-sqlite --with-icu-dir=/opt/lampp --enable-fileinfo --enable-phar --enable-zip --enable-intl

那么这就完成了——

./configure [ whole above command ]
make 

运行 make install 会出错 -

Installing PHP SAPI module:       apache2handler
apxs:Error: Command failed with rc=65536
make: *** [install-sapi] Error 1

【问题讨论】:

【参考方案1】:
$ ./configure --prefix=/home/username/php --with-apxs2=/usr/bin/apxs2
$ mkdir /home/username/php/etc/apache2/mods-available
$ make
$ INSTALL_ROOT=/home/username/php PATH=/usr/sbin:$PATH make install

1) --prefix 是在您的主目录下安装大部分 PHP 所必需的。

2) --with-apxs2 是告诉 PHP 在哪里找到 apxs2 所必需的。出于某种原因(可能存在 --prefix),即使 apxs2 在您的 $PATH 中,您也必须指出这一点。

3) mkdir 是创建 apxs2 将放置 PHP 模块 .load 文件的目录所必需的。

4) INSTALL_ROOT 是一个未记录的变量,它会覆盖某些由于某种原因不符合 --prefix 的安装位置。

5) 在 a2enmod 不在普通用户的 $PATH 中的系统上,需要将 /usr/sbin 添加到 $PATH。

http://blog.thecybershadow.net/2013/01/25/installing-php-and-apache-module-under-home/

【讨论】:

我试过了,但给出了同样的错误 - INSTALL_ROOT=/opt/lampp PATH=/usr/sbin:$PATH make install 应该 intsall_root 是 /opt/lampp/php 还是您的 PHP 所在的任何位置?基本上应该匹配 --prefix 目录。 我按照下面的说明从指向 /opt/lampp 的 php -info 获取前缀:***.com/questions/8740817/… 请添加你得到的错误和配置文件。

以上是关于在 LAMPP for Ubuntu 中将 PHP 从 5.5 升级到 5.6的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu 中将 xampp 控制面板设置带到桌面? [关闭]

Lampp ubuntu 13.04 上的 MongoDB 配置问题

如何在 ubuntu 14.04 lts 中为 lampp 安装 mcrypt

在 ubuntu 上使用 Lampp 服务器的 LAN 中的网页出现“404 Not found”错误

将mongodb扩展添加到PHP-7.1.9 XAMPP Ubuntu

将 mongodb 扩展添加到 PHP-7.1.9 XAMPP Ubuntu