当我在浏览器中访问目标 php 时,exec() 只是 运行
exec() just run when i access target php in browser
我使用此代码 运行 另一个 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 之前不要转换视频!
感谢您的大力帮助和耐心倾听我的问题。
我通过安装 mysqli 来解决它。
yum install php-pdo php-mysqli
并重启应用程序
我使用此代码 运行 另一个 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 之前不要转换视频!
感谢您的大力帮助和耐心倾听我的问题。 我通过安装 mysqli 来解决它。
yum install php-pdo php-mysqli
并重启应用程序