在PHP中使用mysqldump而不使用整个路径

时间:2018-09-07 18:09:09

标签: php mysql laravel

我正在尝试使用Laravel创建一个简单的程序,该程序将允许用户单击按钮,并在本地生成其数据库的备份SQL。

.sql

这是我当前的代码,如您所见,我已经指定了mysqldump的整个路径,如果没有,它只会返回一个空的.arrow-shape { width: 0; height: 0; border-left: 80px solid transparent; border-right: 0px solid transparent; border-bottom: 50px solid green; position: absolute; top: 0; right: 0; } 。当我在终端中运行时,同一命令(没有完整路径)可以完美运行,现在此代码将在本地不同的环境(Windows,Linux,Mac)上运行,并且mysqldump的路径在每个环境中都不同。

有没有一种方法可以使这种情况发生而无需指定整个路径?

1 个答案:

答案 0 :(得分:0)

您可以使用另一个默认为'mysqldump'的env变量。

但是,您不应直接在代码中使用env变量,而应将它们加载到配置文件中的配置参数中。缓存配置后,env()将无法工作。

但是,潜在的问题是/usr/local/mysql/bin不在Web用户的PATH变量中。 PHP exec $PATH variable missing elements