Движок приложения php flex env exec ("ffmpeg ...") - Невозможно открыть файл журнала: / dev / stderr - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь запустить 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 () С тем же результатом.

Любая помощь?

Спасибо

...