【问题标题】:How to run a PHP script from the command line with MAMP?如何使用 MAMP 从命令行运行 PHP 脚本?
【发布时间】:2010-10-31 14:14:09
【问题描述】:

我已安装 MAMP。现在我试图从命令行运行一个脚本,但我似乎无法让它工作。

我应该如何设置我的环境,以便我可以从命令行运行脚本并使用我通过 MAMP 安装的 PHP 版本?

更新:我同意下面的 jjeaton,here is a nice solution 为 MAMP 的 PHP 创建别名:

# add this to your ~/.bash_profile
alias phpmamp='/Applications/MAMP/bin/php/php5.3.6/bin/php'

现在你可以从命令行使用它了:

$ phpmamp --help

【问题讨论】:

  • This answer 有一个更好的解决方案,不会影响您的库存 php 安装。
  • 不要忘记输入 : source ~/.bash_profile 以重新加载您的 bash 配置文件!

标签: macos mamp php


【解决方案1】:

是的,我想它在这里:/Applications/MAMP/bin/php5/bin/php

您可以将/Applications/MAMP/bin/php5/bin/ 添加到路径的前面,或者在/usr/bin 中创建一个符号链接(可能已经有一个用于默认PHP 安装)

【讨论】:

  • PHP CLI 也会内置到 /Applications/MAMP/bin/php5/bin/php 中,因为我在 /Applications/MAMP/bin/php5/bin 中看不到任何关于 PHP CLI 的内容
  • 我以为我的 php 二进制文件就在里面,但也许不是。它只会被称为'php'。稍后我会在我的 Mac 上查看。
【解决方案2】:

在终端中运行:

export PATH=/Applications/MAMP/bin/php5/bin/:$PATH

应该做的伎俩。它将 - 正如 Tom Haigh 所提到的 - 将 MAMP PHP 可执行文件添加到路径中,以便您可以使用“php”而不是完整路径。

【讨论】:

  • php -i | grep php.ini - 如果它工作正常,这应该给你 MAMP php ini 位置,而不是 /etc
  • 安德鲁,您可以使用“which php”来获取php命令将使用的php可执行文件的路径。
  • 在 MAMP 1.9.4 中,这需要 export export PATH=/Applications/MAMP/bin/php5.3/bin:$PATH - 因为 /Applications/MAMP/bin/php5/bin/不复存在。这指向 PHP 5.3,但可能有一种方法可以指向设置为使用的任何 MAMP。
  • @Alex King,这取决于您使用的 PHP 版本。
  • 嗨@phidah,只有您的解决方案在Mountain Lion 10.8.5 和MAMP 2.2 上对我有效。但我似乎无法在 ~/.profile 和 ~/.bash_profile 中列出它。只是想知道这是在哪里添加的。即使它工作得很好。
【解决方案3】:

请注意,在 MAMP 2.0.5 版中,路径已更改。它现在是以下之一:

/Applications/MAMP/bin/php/php5.2.17/bin/
/Applications/MAMP/bin/php/php5.3.6/bin/

因此添加 MAMP 的 php 命令的命令应该是这样的:

export PATH=/Applications/MAMP/bin/php/php5.2.17/bin/:$PATH

或像这样(取决于您要使用的 PHP 版本):

export PATH=/Applications/MAMP/bin/php/php5.3.6/bin/:$PATH

【讨论】:

    【解决方案4】:

    另一种在 PHP 版本方面可能更简洁的方法是在您的 bash 配置文件中创建一个别名,该别名指向您在运行 composer 或其他 cli 工具时要运行的特定 php 二进制文件。这有利于避免一些潜在的库和 php.ini 配置与 OSX 中安装的 php 版本的兼容性问题。

    例如,如果您想在 MAMP 中指向 php 5.4.1,请在您选择的编辑器(nano、vi 等)中编辑 .bash_profile 文件:

    # nano ~/.bash_profile
    

    在你的 PATH 语句下面添加:

    alias php=/Applications/MAMP/bin/php/php5.4.10/bin/php
    

    保存并退出(在 nano 中为 CTRL+X,在 vi 中为 :wq)。退出终端。下次您尝试从 cli 调用 php 时,您将使用安装了 MAMP 的 5.4.10 版本。

    如果您使用更新版本的 PHP 更新 MAMP,请记住更新此路径。

    【讨论】:

    • 是否需要重启机器才能生效?
    • 对我来说这是最好的选择,这样我就可以为在 cli 上需要不同 php 版本的不同项目创建不同的别名,即 php7.2、php7.1 等...
    • 先生。 Concolato 您不需要重新启动服务器,而是需要打开一个新终端或使用源 ~/.bash_profile 重新读取 .bash_profile。请注意,对我来说,我的 .bash_profile 不起作用,因为它在开头有一个源 ~/.profile 并且文件 ~/.profile 不存在(我没有把它放在那里..)在用 # 我能评论这一行之后运行 source ~/.bash_profile 没有错误
    猜你喜欢
    • 2015-11-11
    • 2012-05-03
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 2012-03-16
    • 2014-01-15
    相关资源
    最近更新 更多