cv2 не удается получить доступ к видео при вызове с помощью php

#python #php #shell #permissions #cv2

Вопрос:

Я написал код, в котором я назначаю видеофайл модулю cv2 в скрипте python. Я запускаю этот скрипт на python с помощью PHP. когда я запускаю PHP в терминале, cv2 может получить доступ к видео, но когда я запускаю PHP на веб-странице, cv2 не может получить доступ к видео.

имя файла python — video2frames.py

Имя файла PHP — script.php

bootscript.php —

 lt;!DOCTYPE htmlgt; lt;html lang="en"gt; lt;headgt;  lt;meta charset="UTF-8"gt;  lt;meta http-equiv="X-UA-Compatible" content="IE=edge"gt;  lt;meta name="viewport" content="width=device-width, initial-scale=1.0"gt;  lt;titlegt;scriptlt;/titlegt; lt;/headgt; lt;bodygt;    lt;?  $out = shell_exec("python3 video2frames.py");  echo "$out";   ?gt;  

video2frames.py —

 # Importing all necessary libraries  import sys import os  import cv2  value = 'cv2' in sys.modules print('Check if true cv2 is imported',value)  # Read the video from specified path  cam = cv2.VideoCapture('video.mp4')  print('cam value : ',cam)  

вывод в терминале —

 [customro@heimdall www]$ php bootscript.php lt;!DOCTYPE htmlgt; lt;html lang="en"gt; lt;headgt;  lt;meta charset="UTF-8"gt;  lt;meta http-equiv="X-UA-Compatible" content="IE=edge"gt;  lt;meta name="viewport" content="width=device-width, initial-scale=1.0"gt;  lt;titlegt;scriptlt;/titlegt; lt;/headgt; lt;bodygt;   Check if true cv2 is imported True cam value : lt;VideoCapture 0x7f2731224fd0gt;  lt;/bodygt; lt;/htmlgt;  

вывод на веб-странице —

 Check if true cv2 is imported True cam value :  

Я пытался —

  1. изменение разрешений всех файлов, связанных с этой программой, на 777
  2. Я пробовал команды exec, system, shell_exec для вызова файла python в PHP