【问题标题】:How to use shell_exec xampp php in a Mac如何在 Mac 中使用 shell_exec xampp php
【发布时间】:2015-08-13 11:27:11
【问题描述】:

我只是想不通如何在 php 上执行 shell 命令。它必须假设回显 mogrify 的参数,但它总是返回 false。我怎么能在 macbook pro yosemite 上做到这一点?我已经尝试编辑所有用户的读/写/执行权限,但仍然没有运气.. 已经尝试在网络上对此进行研究,但无法得到答案。

我的代码是:

<?php
echo shell_exec("/opt/ImageMagick/bin/mogrify");
?>

【问题讨论】:

  • 您确定 /opt/ImageMagick/bin/mogrify 是现有文件吗?
  • 是的,我只是复制粘贴“which mogrify”返回的内容。
  • 顺便说一句,shell_exec 不返回false,它只返回函数结果或null 所以你应该var_dump 它而不是echo
  • var_dump 不返回任何内容。
  • var_dump(shell_exec("/opt/ImageMagick/bin/mogrify")); 什么都不返回? ...哇,这只是...不可能^^ null或控制台的返回:/你可以尝试shell_exec 'ls -a'

标签: php macos osx-yosemite


【解决方案1】:

好的,大家可以解决这样的问题,即任何终端应用程序都不能在 mac 上运行并在任何类型的调用终端应用程序(如 shell_exec、exec、system 等)中返回 null。这是一种我花了 24 小时才知道.. 这是关于工作目录的。

// The Code that took me 24 Hours to Discover.
exec('unset DYLD_LIBRARY_PATH ;');
putenv('DYLD_LIBRARY_PATH');
putenv('DYLD_LIBRARY_PATH=/usr/bin');
$voila = shell_exec("anything you want to execute!");
var_dump($voila);

解决了您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-04
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2019-05-27
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多