【问题标题】:exec() just run when i access target php in browserexec() 只是在我在浏览器中访问目标 php 时运行
【发布时间】:2016-09-23 22:59:07
【问题描述】:

我使用此代码运行另一个 php 来完成一些工作(ffmpeg 转换)

    $binpath = get_option('binpath','/usr/bin/php');
    $command = $binpath." -cli -f ".ABSPATH."/videocron.php";
    exec( "$command > /dev/null &", $arrOutput );

但是当我上传视频并运行此代码时,永远不要转换视频。

但是当我从浏览器访问 videocron.php 时,我上传的所有视频都会突然转换!!!

我使用替代执行功能(system();exec();passthru();shell_exec();) 我通过可读函数检查videocron.php,它是可读的。

即使我将所有者 videocron.php 更改为无人用户

在 mod_security 日志中我收到此错误:

[Tue Sep 20 23:01:11 2016] [error] [client 37.156.10.171] ModSecurity: Multipart parsing error (init): Multipart: Boundary not found in C-T. [hostname "codenevis.net"] [uri "/lib/upload-ffmpeg.php"] [unique_id "V@GAb38AAAEAAGrk2QoAAAAH"]

但即使我没有安装 mod_security,它也不会自动工作。

但在我从浏览器访问 videocron.php 之前不要转换视频!

【问题讨论】:

    标签: php ffmpeg exec mod-security


    【解决方案1】:

    感谢您的巨大帮助,并通过耐心倾听我的问题来帮助我。 我通过安装mysqli来解决它。

    yum install php-pdo php-mysqli
    

    并重新启动应用程序

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 2019-12-11
      • 2011-11-12
      • 2017-12-26
      • 2016-09-11
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多