【问题标题】:Install php-cgi on Mac OS X Yosemite在 Mac OS X Yosemite 上安装 php-cgi
【发布时间】:2015-05-16 00:21:40
【问题描述】:

是否可以在 Mac OS X Yosemite 上安装 php-cgi,保持操作系统提供的标准 PHP 版本?

谢谢, 阿尔贝托

【问题讨论】:

  • 使用 Homebrew 之类的工具。
  • 是的,我已经尝试过使用 Homebrew,但我只找到了必须更改系统 PHP 版本的解决方案。喜欢:brew tap homebrew/dupesbrew tap josegonzalez/homebrew-phpbrew install php54
  • “更改系统的PHP版本”是什么意思? Homebrew 不会“更改系统的 PHP 版本”。
  • 我找到的解决方案需要安装 PHP 5.4,更改默认的 PHP 系统版本,即 Yosemite 的 5.5。我想保留默认版本,只安装 php-cgi 模块。这可能吗?
  • 如果您的意思是在命令行中键入 php 会解析为 Homebrew 的 PHP 而不是 OS X 的 PHP,那仅仅是因为 /usr/local/bin 在您的 PATH 中的优先级高于 /usr/bin。他们都还在。

标签: php macos osx-yosemite


【解决方案1】:

您可以使用 Homebrew 轻松安装 PHP:

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

brew install php54

Homebrew 不会更改系统 PHP 的版本。 System 和 Homebrew 版本位于不同的目录中。这就是我的样子:

系统/usr/bin/php:

/usr/bin/php -v
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29)

自制/usr/local/bin/php:

/usr/local/bin/php -v
PHP 5.6.2 (cli) (built: Nov 14 2014 10:30:28)

【讨论】:

  • 谢谢格戈。是的,这就是我找到的解决方案。我只是想知道是否可以不安装另一个 PHP 版本,保留已经安装在 OS X 上的版本并添加 php-cgi 模块,就像在 Ubuntu 中使用 sudo apt-get install php5-cgi
  • 不要认为使用 Homebrew 可以只安装 php-cgi。 Homebrew 安装是否会导致任何问题?
  • 我认为有一种简单的方法可以只安装模块,而不会过多地改变标准系统......但看起来你的解决方案更好,所以我会坚持下去。谢谢。
  • 那里得到Error: homebrew/dupes was deprecated. This tap is now empty as all its formulae were migrated.
【解决方案2】:

如果您希望在 Mac OS X 上使用 PHP CGI,您将需要启用 CGI 的 PHP 构建。默认情况下,PHP 4.3 及更高版本是使用“-enable-cli”选项构建的,因此默认界面是 CLI(命令行界面)。您可以通过从 shell 运行“php -v”来检查这一点。输出可能是这样的:

PHP 4.4.4 (cli) .... CLI 不输出任何标题,默认情况下输出是纯文本。此处提供了有关此内容的更多详细信息。

为了将 PHP 与 wxWebServer(或任何其他 CGI 应用程序)一起使用,您需要使用 CGI SAPI 构建您自己的 PHP 二进制文件。这很简单,只需要 15 分钟,您会为自己拥有 PHP 的“个人”构建而感到自豪。步骤如下:

从 php.net 下载最新 PHP 版本的完整源代码。此处的说明适用于 PHP 5.2.3,但也适用于 PHP 4。我也用 4.4.7 测试过。

在某处解压下载的存档,例如 ~/Temp/php-5.2.3

打开终端窗口(shell)并转到您解压文件的文件夹:

cd ~/Temp/php-5.2.3

决定您要安装此自定义 PHP 构建并创建文件夹的位置。本文档将假定它是您的主文件夹下的自定义文件夹,例如,如果用户名是 webdev,则它是 /Users/webdev/custom/php5

创建该文件夹(在 Finder 或终端中使用“mkdir ~/custom; mkdir ~/custom/php5”) 回到那个终端窗口,你应该仍然在 ~/Temp/php-5.2.3 中。 如果您计划将此私有 PHP 构建仅用于 CGI,请在禁用 CLI 的情况下运行 ./configure。修改路径和选项以反映您的偏好。 您不需要选项“--disable-cli”,如果您打算将此 PHP 用于更多用途,可以将其替换为“--enable-cli”。您将获得两个二进制文件,但您需要在 wxWebServer 中使用 php-cgi。 这是 .configure 的完整命令行,它应该生成 PHP 并禁用所有常用选项和 CLI:

./configure --prefix=/Users/webdev/custom/php5 --disable-cli --enable-cgi --enable-trans-sid
  --enable-mbstring --with-xml --enable-exif --enable-mbregex --enable-dbx --enable-sockets
  --with-iodbc=/usr --with-curl=/usr --with-config-file-path=/etc --sysconfdir=/private/etc
  --with-mysql=/usr/local/mysql --without-pear
  

配置完成后,运行

  make install

编辑您的配置文件 (~/.profile) 以在现有路径之前添加新的 php 路径。在 .profile 文件的末尾添加类似这样的内容:

PATH=~/custom/php5/bin:$PATH

export PATH

如果您不知道如何从命令行编辑配置文件,只需在 TextEdit 中创建一个包含这两行的纯文本文件,并将其作为 newpath.txt 保存在您的主文件夹 (~/Users/webdev) 中。然后打开终端输入命令:

cat newpath.txt >> .profile

更改生效的最简单方法是注销并重新登录(或者您可以使用 source 命令)。 恭喜,您现在有一个自定义的 php 安装!如果您想使用其他 PHP,只需将您的更改注释到 .profile

验证你的新 PHP 是默认的:

# which php-cgi

/Users/webdev/custom/php5/bin/php-cgi

php-cgi -v

PHP 5.2.3 (cgi)(构建时间:2007 年 7 月 11 日 00:48:59) 版权所有 (c) 1997-2007 PHP 集团 Zend Engine v2.2.0,版权所有 (c) 1998-2007 Zend Technologies

如果您愿意,您现在可以删除 ~/Temp/php-5.2.3 中的源文件。要删除您的自定义 PHP,只需删除目标文件夹,即

"/Users/webdev/custom/php4".

安装自定义 php 后,配置 wxWebServer 以使用新的 php 二进制文件。不管你是启用还是禁用 CLI,你都可以使用 php-cgi(“which php-cgi”的输出,在这种情况下 “/Users/webdev/custom/php5/bin/php-cgi”)。 如果您禁用了 CLI 构建,您也可以使用 php 二进制文件,因为它将是 CGI 构建。就是这样,享受您的个人 PHP 构建吧!

Found It Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多