如何重写PHP的路径以使用MAMP路径?

在将我的PHP配置完全搞乱之后,尝试使SOAP模块正常工作(-bash:/ usr / bin / php:没有这样的文件或目录...。)我现在必须使用MAMP,但是每次必须键入路径


Applications/MAMP/bin/php5.3/bin/php to do command line.

如何只键入php而不是MAC上的整个路径?我仔细检查过,但没有一个名为.profilenor 的文件bash_profile


谢谢


PS:这是输出echo $ PATH的内容:


echo $PATH

/Applications/MAMP/Library/bin/:/Applications/MAMP/bin/php5/bin/:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin


泛舟湖上清波郎朗
浏览 500回答 3
3回答

潇湘沐

在/Users/David示例的主文件夹中,您可以创建一个.bash_profile。在这里,您可以导出变量,然后将其添加到路径中。打开文件以在您喜欢的编辑器中对其进行编辑,我使用vim。然后您可以添加路径export MAMP_PHP=/Applications/MAMP/bin/php/php5.3.6/binexport PATH="$MAMP_PHP:$PATH"您需要先行一步,$PATH因为它已经包含/usr/bin了PHP系统所在的位置。因此,系统始终会首先找到您的MAMP版本。保存此文件,然后重新启动终端,您会看到应该获得MAMP版本。要进行测试,我将php -vOSX Lion用作5.3.10,而我的MAMP使用5.3.6,您也可以进行测试,使用which php它将输出当前php可执行文件的路径。

狐的传说

先前接受的答案是指PHP 5.3.6,而MAMP的当前版本默认为7.2.1(截至2018年初),这表明这不是一个非常可持续的解决方案。您可以通过向您的行添加额外的一行来自动更新路径,.bash_profile以获取最新版本的PHP /Applications/MAMP/bin/php/并将其导出到您的路径。这是我的方法:# Use MAMP version of PHPPHP_VERSION=`command ls /Applications/MAMP/bin/php/ | sort -n | tail -1`export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH(source ~/.bash_profile在进行更改后使用,以确保它们生效。)正如其他人提到的那样,您可能还希望修改外壳以使用MAMP的mysql可执行文件(位于)/Applications/MAMP/Library/bin。但是,我不建议导出该文件夹,因为那里还有很多其他可执行文件,例如libtool,您可能不想将其优先于系统安装的版本。这个问题让我无法安装节点包最近(libxmljs),作为记录在这里。我的解决方案是定义和导出mysql并mysqladmin作为函数:# Export MAMP MySQL executables as functions# Makes them usable from within shell scripts (unlike an alias)mysql() {    /Applications/MAMP/Library/bin/mysql "$@"}mysqladmin() {    /Applications/MAMP/Library/bin/mysqladmin "$@"}export -f mysqlexport -f mysqladmin我使用函数而不是别名,因为别名不会传递给子进程,或者至少不会传递给Shell脚本。我发现的唯一缺点是运行which mysql并且which mysqladmin将不再返回任何东西,这真是令人讨厌。如果要检查使用的是哪个mysql,并确保所有功能都是copacetic的,请mysql --version改用。注意:@julianromera指出zsh不支持导出功能,因此在这种情况下,最好使用别名,如alias mysql='/Applications/MAMP/Library/bin/mysql'。请注意,您的别名可能无法从子Shell中使用(例如执行Shell脚本时)。
打开App,查看更多内容
随时随地看视频慕课网APP