【问题标题】:PHP Shell Excution of ffmpeg Not Reading Bash Profileffmpeg的PHP Shell执行未读取Bash_profile
【发布时间】:2015-07-24 00:26:35
【问题描述】:

我知道这是一个奇怪的问题,可能非常具体,但我最近在共享托管服务上安装了ffmpeg。虽然我可以从 SSH 控制台执行所有任务,但在 PHP 中进行完全相同的调用时,我会收到此错误。

加载共享库时出错:libavdevice.so.56: cannot open shared object file: No such file or directory

它在 PuTTY 中做了同样的事情,直到我用这一行更新了 ~/.bash_profile

export LD_LIBRARY_PATH=/home/searay330/ffmpeg/lib

PHP 不使用~/.bash_profile,还是有其他文件需要更新?非常感谢您提供有关此主题的任何信息,谢谢。

【问题讨论】:

  • 我赌的是权限问题

标签: php ffmpeg environment-variables


【解决方案1】:

你需要把它放在.bashrc 中。 .bash_profile 仅在使用交互式登录 shell 时读取,但 .bashrc 在 Bash 交互式启动但不是登录 shell 时读取。有关更多信息,请参阅here。所以,你不能真正使用.bashrc.bash_profile。调用shell_exec()之前需要在PHP中设置环境变量。

<?php
putenv('LD_LIBRARY_PATH=/home/searay330/ffmpeg/lib');
shell_exec('...');

【讨论】:

  • 这就像一种魅力,我很欣赏这种努力以及外部信息。
猜你喜欢
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2020-10-11
相关资源
最近更新 更多