gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:46 25 4
gpt4 key购买 nike

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

我已经在 /opt/lampp/ 的 ubuntu 上设置了我的 Lampp

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

$ mysqldump --user=root test

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect

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

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

-- MySQL dump 10.13 Distrib 5.6.21, for Linux (x86_64)

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

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

最佳答案

你确实有多种选择来做你想做的事。

  • 您可以根据您的环境(本地、开发、预生产、生产...)创建一个配置文件。该文件可能声明一组配置,其中之一是您需要的可执行文件的路径。您的 php 代码将通过检查一个全局变量来了解环境,例如 $_SERVER,它可以在您的 web 服务器的 vhost 文件中设置。我认为这是干净的做法。

  • 您可以为您的可执行文件硬编码一个路径(比如 /home/www/mysqldump)并使用 ln -s 创建一个符号链接(symbolic link)(如果我记住正确,或查看手册页)在您环境的可执行文件 /opt/lampp/bin/mysqldump/home/www/mysqldump 之间。您必须以这种方式准备所有环境。我觉得有点丑,但是很快。

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

关于php - 在 php 调用中使用 Lampp mysqldump 作为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35157654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com