簡體   English   中英

MAMP Pro:sh:mysqldump:找不到命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM