php - 从 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 脚本呢?
解决方案
推荐阅读
- python - 如何从类中访问外部函数,这将为我们提供类对象数量的计数
- javascript - 如何将数据服务传递到角度 5 中的组件中
- android - 操作栏后退按钮在 webview 中不起作用
- google-cloud-platform - GCP:kubectl exec/logs 在使用 UBUNTU 作为操作系统时无法容器化
- json - 如何将杂货店列表作为谷歌在地图中显示
- java - 带有休眠+龙目岛的Id字段的LazyInitializationException
- appium - 在 iOS 中,Appium 无法使用 xPath 在 WKWebview 的文本字段中输入文本
- c# - 将json字典反序列化为c#
- javascript - 在拖动完成之前,拖动光标不会应用光标样式更改
- ios - 从 '(_) throws -> Void' 类型的抛出函数到非抛出函数类型 '([UNNotificationRequest]) -> Void 的无效转换