【问题标题】:PHP shell_exec which mysqld refuses to workmysqld拒绝工作的PHP shell_exec
【发布时间】:2020-05-06 14:01:35
【问题描述】:
  1. 我尝试在 PHP 中运行命令 echo shell_exec('which mysqld');,结果 nothing
  2. 我手动转到 终端 并运行 $ which mysqld 得到答案。
  3. 我在 PHP 中运行命令echo shell_exec('whoami');,得到user
  4. 我回到终端并运行$ which mysqld作为用户PHP运行并得到答案。

如何强制 PHP 返回 echo shell_exec('which mysqld');,无论它“感觉”是否喜欢?

是的,数据库正在运行。

【问题讨论】:

  • 您是否使用同一用户在您的网络服务器上执行 php 来测试 CLI?
  • @JonathandosSantos 请澄清一下?

标签: php shell


【解决方案1】:

听起来 php 不知道可执行文件是什么,它可能不知道命令是什么(它可能不在你的 $PATH 中),或者它是一个内置的 shell,你最好运行一个使用bash -c "which mysql" 或类似性质的命令来强制您的脚本在实际shell 会话的上下文中运行它。

【讨论】:

  • "您可以在 9 分钟内接受这个答案。"谢谢! :-)
猜你喜欢
  • 1970-01-01
  • 2013-05-27
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多