首页 > 解决方案 > 从 PHP Docker 运行 Python 脚本

问题描述

我正在运行一个 Docker。这是我的码头文件。

FROM php:5.6-apache

RUN apt-get update && apt-get install -my wget gnupg
RUN apt-key adv \
        --keyserver hkp://keyserver.ubuntu.com:80 \
        --recv 7F0CEB10
RUN echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list
RUN apt-get update
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libmcrypt-dev \
        libssl-dev 
RUN apt-get install -y libmariadbclient-dev
RUN docker-php-ext-install iconv mcrypt mysqli pdo_mysql mysql zip mbstring
RUN pecl install mongo
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer
RUN sed -i 's/^ServerSignature/#ServerSignature/g' /etc/apache2/conf-enabled/security.conf; \
    sed -i 's/^ServerTokens/#ServerTokens/g' /etc/apache2/conf-enabled/security.conf; \
    echo "ServerSignature Off" >> /etc/apache2/conf-enabled/security.conf; \
    echo "ServerTokens Prod" >> /etc/apache2/conf-enabled/security.conf; \
    a2enmod ssl; \
    a2enmod headers; \
    echo "SSLProtocol ALL -SSLv2 -SSLv3" >> /etc/apache2/apache2.conf
RUN apt-get install -y vim
RUN apt-get update && apt-get install -y python3 python3-pip
RUN pip3 install numpy
RUN pip3 install scipy
RUN pip3 install image_match
RUN pip3 install opencv-python
RUN pip3 install pytube
RUN pip3 install ez_setup
RUN pip3 install moviepy
RUN pip3 install requests
RUN pip3 install ffmpeg-python
RUN apt update && apt install -y libsm6 libxext6
RUN apt-get install -y libxrender-dev
RUN apt-get update
COPY config/mongo.ini /usr/local/etc/php/conf.d/

ENV VERSION 8
ENV UPDATE 91
ENV BUILD 14

在我的一个 PHP 页面中,我想运行一个 python 脚本。例如

$command = escapeshellcmd('python integrateFinal.py');
$joutput = shell_exec($command);
$output=json_decode($joutput);

python 脚本可以在命令行中正常工作,如“docker-compose exec web python3 integrationFinal.py”。它可以工作并给出输出,但是当我从上面提到的 PHP 页面运行它时,它给了我错误,因为权限被拒绝。

那么我应该如何运行这个 PYTHON 脚本呢?

标签: phppythonshelldockercommand-line

解决方案


推荐阅读