在php调用中使用Lampp mysqldump作为默认值

时间:2016-02-02 15:38:44

标签: php mysql linux ubuntu mysqldump

棘手的问题,我不知道SO是否是好空间(也许是AskUbuntu?或SuperUser?)

我在/opt/lampp/

中将我的Lampp设置在我的ubuntu上

问题,当我需要调用直接bin作为mysqldump时,我最终调用了我的ubuntu上的默认安装,而不是链接到我的灯泡的那个:

  

$ mysqldump --user = root test

     

mysqldump:收到错误:2002:无法连接   通过socket'/var/run/mysqld/mysqld.sock'到本地MySQL服务器(2)   在尝试连接时

如您所见,它会检查/var/run。 如果我想使用好的,我应该指定路径:

  

$ / opt / lampp / bin / mysqldump --user = root test

     

- MySQL转储10.13 Distrib 5.6.21,适用于Linux(x86_64)

我可以在PHP调用中使用完整路径,但我的PHP prod服务器将无法正常工作。

如何将Lampp bin设置为php exec('mysqldump')使用的默认值?

1 个答案:

答案 0 :(得分:0)

你真的有几种选择可以做你想做的事。

  • 您可以创建一个取决于您的环境的配置文件(local,dev,preprod,prod ...)。此文件可以声明一组配置,其中一个是您需要的可执行文件的路径。您的PHP代码将通过检查全局变量(例如$_SERVER)来了解环境,该变量可以在Web服务器的vhost文件中设置。我认为这是干净的做法。

  • 您可以为可执行文件硬编码路径(让我们说/home/www/mysqldump)并创建一个带ln -s的符号链接(如果我没记错,或查看手册页)在您环境的可执行文件/opt/lampp/bin/mysqldump/home/www/mysqldump之间。您必须以这种方式准备所有环境。我认为这有点难看,但速度很快。

我相信还有很多其他解决方案。

相关问题