我需要在我的主目录中安装PHP,而不会污染我家外的任何目录[非常重要的要求!]。在系统中,已经有旧版本的PHP运行。
我在这里找到了说明: http://blog.thecybershadow.net/2013/01/25/installing-php-and-apache-module-under-home/
我在主目录中运行这些命令,与普通用户dan
$ ./configure --prefix=/home/dan/php
$ make
$ INSTALL_ROOT=/home/dan/php make install
文章的作者指出,您需要同时使用--prefix
和INSTALL_ROOT
来确保在您的主目录之外没有安装任何内容。
PHP已安装(是的!),但不幸的是它安装在这里:
/home/dan/php/php55/home/dan/php/php55/bin
虽然我希望在这里安装它:
/home/dan/php/php55/bin
我该怎么办?我应该只使用一个指令吗?最难以做到这一点的传统方式是什么?
答案 0 :(得分:5)
这很简单:
INSTALL_ROOT=/ DESTDIR=/ make install
我认为这是因为这个,但我可能错了:
您同时使用$ PWD / configure --prefix =和INSTALL_ROOT 变量与make。这两个选项是互斥的 使用--prefix时,要求在make文件中安装的每个文件路径之前添加路径。然后使用INSTALL_ROOT变量。
配置创建静态make规则;因此,无法做出改变的方法:
它会再次使用configure添加指定的路径。
答案 1 :(得分:3)
为了在您的主目录中安装php(示例:如果您没有root权限但需要php可执行文件),请在php下载文件夹中运行以下命令: / p>
$ ./configure --prefix=/my/path/
$ make install
正如@Michael Tsang所说,你不会需要再次指定你的安装文件夹,因为这将导致安装在你的安装中创建重复文件夹层次结构目的地。如果您要在远程服务器上工作,或者使用作曲家,我也推荐使用--with-openssl
编译php(只需将标记添加到第一个命令的结尾)。
答案 2 :(得分:0)
只需使用
make install
因为您已将其配置为在家中安装。 (最好先在非root帐户上试用)