#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 :
Я пытался —
- изменение разрешений всех файлов, связанных с этой программой, на 777
- Я пробовал команды exec, system, shell_exec для вызова файла python в PHP