[英]MAMP Pro: sh: mysqldump: command not found
我在 macOS Mojave 10.14.6 上使用 MAMP PRO 5.5.1。
我想使用以下命令备份 MySQL 数据库:
$backup = system("mysqldump -hmy_host -umy_user -pmy_password --databases my_databse > my_file.sql");
这不起作用,没有创建文件。 php_error.log
没有任何内容,但apache_error.log
表示以下内容:
sh:mysqldump:找不到命令
由于我的脚本/命令正在另一个系统上运行(共享主机,而不是 MAMP),我敢肯定,脚本本身正在运行。 MAMP 似乎有问题。
知道它是什么吗?
MAMP 的二进制文件不在您的系统路径中,因此您需要像这样显式调用 mysqldump:
/Applications/MAMP/Library/bin/mysqldump
您可以为 MAMP 的二进制文件创建别名,并将它们添加到您的.bashrc
(或您正在使用的任何 shell)中,如下所示
alias mysql='/Applications/MAMP/Library/bin/mysql'
alias mysqldump='/Applications/MAMP/Library/bin/mysqldump'
alias mysqladmin='/Applications/MAMP/Library/bin/mysqladmin'
通过这种方式,您可以像以前一样使用mysqldump
速记。 您可以对 MAMP 的多个 PHP 版本执行相同的操作:
alias php71='/Applications/MAMP/bin/php/php7.1.32/bin/php -q -c /Library/Application\ Support/appsolute/MAMP\ PRO/conf/php7.1.32.ini'
alias php73='/Applications/MAMP/bin/php/php7.3.9/bin/php -q -c /Library/Application\ Support/appsolute/MAMP\ PRO/conf/php7.3.9.ini'
现在,您在命令行上也有多个 php 二进制文件和相应的 ini 文件。 只需确保更新用于您正在使用的正确 php 版本的路径,因为 MAMP Pro 总是在每次更新时将 php 包更新到最新版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.