【发布时间】:2013-08-06 02:51:30
【问题描述】:
我在 Arch Linux 上,尝试配置多个 PHP 版本来测试我的脚本。
我基于这三个工具:
首先我使用pacman 安装了 Apache 和 PHP(以及它们的集成包):
# pacman -S php apache php-apache
接下来,我按照链接上的说明安装工具,一切正常。
我设法使用来自php-build 工具的phpenv-install 安装了两个版本。我得到了这样的东西:
-- ~
|---.phpenv
|---lib
|---versions
|---5.5.1
|---5.4.17
|--- (some more folders)
在 CLI 环境下一切正常,我可以使用 php-version 在两个版本之间轻松切换:
$ php-version 5.5.1
$ php --version
PHP 5.5.1 (cli) (built: Aug 5 2013 22:54:47)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.2-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
$ php-version 5.4.17
$ php --version
PHP 5.4.17 (cli) (built: Aug 5 2013 23:19:44)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
现在的问题是:将它与 apache 集成。
正如我在本文开头所说,我还必须从 Arch 存储库安装 PHP,巧合的是,它的版本是 5.4.17。此安装适用于 Apache。
在php-env自述文件中有这些说明:
phpenv 支持 Apache apxs 库的动态切换和安装 将为 Apache 构建和安装一个 libphp5.so 共享库 版本 libexec 文件夹。
通过调用 phpenv global 来显示或更改全局 PHP 版本 在 ~/.phpenv/lib/libphp5.so 下为适当的链接创建链接 发布构建。此链接可用于 Apache 的 LoadModule php5_module 指令并在更改时要求 Apache 重新启动。
问题是在lib 目录中没有名为libphp5.so 的文件或符号链接,在整个.phpenv 文件夹中也没有,因为
$ find ~/.phpenv -name libphp5.so
什么都不返回。
也许因为英语不是我的第一语言,我在解释上面引用的第二段时遇到了一些问题。
【问题讨论】:
-
很抱歉,您的问题尚未得到解答。有什么进展可以分享吗?
-
我最终放弃了在 Arch 上安装它。在基于 debian 的发行版上,可以使用 phpbrew (github.com/c9s/phpbrew),它不会按照我最初的意图进行,但可以正常工作。基本上,使用它我可以编译各种版本的
libphp5.so,将其命名为libphp551.so、libphp5417.so,并使用命令行工具在版本之间切换。我想要的是将版本与特定端口或类似的东西相关联。 -
好的,不是我希望的,但感谢您提供的信息!
-
locate libphp5.so的输出是什么?另外,~/.phpenv及其子文件夹中有什么有趣的吗?