Я пытаюсь запустить FFMPEG на движке приложения flex env для php.
Я внес в белый список функцию exec () в моем app.yaml и установил FFMPEG с помощью файла docker - пока чтохорошо.
Когда я запускаю exec ("usr / bin / ffmpeg [args] ..."), я получаю сообщение об ошибке, что ffmpeg не может получить доступ к dev / stderr, и функция закрывается.см. ref:
ПРЕДУПРЕЖДЕНИЕ: [пул приложение], дочерний элемент 44 сказал в stderr: "ВНИМАНИЕ: сообщение PHP: ALERT - Невозможно открыть файл журнала: / dev / stderr (злоумышленник '', файл '/ app/index.php ', строка 49) "
ПРЕДУПРЕЖДЕНИЕ: [пул приложение] дочерний 44 сказал в stderr:" ВНИМАНИЕ: сообщение PHP: PHP Предупреждение: exec () был отключен по соображениям безопасности в / app /index.php в строке 49 "
Мои файлы конфигурации выглядят следующим образом:
APP.YAML:
runtime: custom
env: flex
runtime_config:
document_root: .
COMPOSER.JSON:
{
"require": {
"php": "5.6.*",
"google/cloud-storage": "^1.0",
}
}
DOCKERFILE:
FROM gcr.io/google-appengine/php:latest
ENV DOCUMENT_ROOT /app
RUN apt-get -y update && apt-get install -y ffmpeg
INDEX.PHP:
<?php
//downloaded images into /tmp folder
$cmd = "/usr/bin/ffmpeg -r 24 -i /tmp/frame_%05d.png -r 24 -vcodec libx264 -pix_fmt yuv420p -b 50M -s 1920x1080 -y /tmp/export.mp4";
exec($cmd);
?>
Я пытался использовать все остальные функции оболочки - system (), exec_shell (), proc_open () С тем же результатом.
Любая помощь?
Спасибо