i dockerzised a project include:
- php
- db
- python script(in folder src php)
In some function php, i have code like this:
$pythonScriptPath = storage_path('app/python/FaceRecognition.py');
$encodingPath = storage_path('app/models/encodings.txt');
$command = "python $pythonScriptPath encode_images $imagePath $encodingPath $employee_username";
exec($command, $output, $returnVars);
I tried many ways to do it but i get error: /bin/sh: python not found How i can do that? Here is my dockerfile:
FROM php:8.2-fpm
ENV ACCEPT_EULA=Y
# Install prerequisites required for tools and extensions installed later on.
RUN apt-get update \
&& apt-get install -y apt-transport-https gnupg2 libpng-dev libzip-dev unzip \
&& rm -rf /var/lib/apt/lists/*
# Install prerequisites for the sqlsrv and pdo_sqlsrv PHP extensions.
# Some packages are pinned with lower priority to prevent build issues due to package conflicts.
# Link: https://github.com/microsoft/linux-package-repositories/issues/39
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& echo "Package: unixodbc\nPin: origin \"packages.microsoft.com\"\nPin-Priority: 100\n" >> /etc/apt/preferences.d/microsoft \
&& echo "Package: unixodbc-dev\nPin: origin \"packages.microsoft.com\"\nPin-Priority: 100\n" >> /etc/apt/preferences.d/microsoft \
&& echo "Package: libodbc1:amd64\nPin: origin \"packages.microsoft.com\"\nPin-Priority: 100\n" >> /etc/apt/preferences.d/microsoft \
&& echo "Package: odbcinst\nPin: origin \"packages.microsoft.com\"\nPin-Priority: 100\n" >> /etc/apt/preferences.d/microsoft \
&& echo "Package: odbcinst1debian2:amd64\nPin: origin \"packages.microsoft.com\"\nPin-Priority: 100\n" >> /etc/apt/preferences.d/microsoft \
&& apt-get update \
&& apt-get install -y msodbcsql18 mssql-tools18 unixodbc-dev \
&& rm -rf /var/lib/apt/lists/*
# Retrieve the script used to install PHP extensions from the source container.
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/install-php-extensions
# Install required PHP extensions and all their prerequisites available via apt.
RUN chmod uga+x /usr/bin/install-php-extensions \
&& sync \
&& install-php-extensions bcmath ds exif gd intl opcache pcntl pdo_sqlsrv redis sqlsrv zip
# Setting the work directory.
WORKDIR /var/www
# Install Python 3 and pip
RUN apt-get update \
&& apt-get install -y --no-install-recommends python3 \
build-essential \
cmake \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# COPY requirement.txt /var/www/
# Install Python dependencies
RUN pip install --no-cache-dir -r requirement.txt
# Set an environment variable to use python3 as python
RUN ln -s /usr/bin/python3 /usr/bin/python
I tried make 2 container, php and python but get same error