12

我需要在我的主目录中安装 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

该文章的作者指出,您需要同时使用这两者--prefixINSTALL_ROOT确保在您的主目录之外没有安装任何内容。

PHP 被安装(是的!),但不幸的是它被安装在这里:

/home/dan/php/php55/home/dan/php/php55/bin

虽然我希望在这里安装它:

/home/dan/php/php55/bin

我应该怎么办?我应该只使用一个指令吗?最简洁和传统的方法是什么?

4

3 回答 3

5

这很简单:

INSTALL_ROOT=/ DESTDIR=/ make install

我认为这是因为这个,但我可能错了:

您将 $PWD/configure --prefix= 和 INSTALL_ROOT 变量与 make 一起使用。这两个选项是互斥的。
当您使用 --prefix 时,您要求在 make 文件中要安装的每个文件路径之前添加一个路径。然后你使用 INSTALL_ROOT 变量。

配置create static make规则;所以 make 无法做出一些改变:
它第二次添加您使用 configure 指定的路径。

于 2013-10-22T20:00:22.093 回答
3

为了在您的主目录中安装 php(示例:如果您没有 root 访问权限但需要 php 可执行文件),请在您的 php 下载文件夹中运行以下命令:

$ ./configure --prefix=/my/path/
$ make install

正如@Michael Tsang 所说,您不需要再次指定安装文件夹,因为这将导致安装在您的安装目标中创建重复的文件夹层次结构。如果您要在远程服务器上工作,或者例如使用作曲家(只需将标志添加到第一个命令的末尾),我还建议您编译 php 。--with-openssl

于 2016-07-22T16:57:38.543 回答
0

只需使用

make install

因为您已经将其配置为安装在您的家中。(最好先在非root帐户上试用)

于 2013-10-24T16:15:53.537 回答