When i Run my php code in docker for mkdir it says this in the browser
Warning: mkdir(): Permission denied in /var/www/html/test.php on line 9
Warning: mkdir(): Permission denied in /var/www/html/test.php on line 12
I have been searching but can't get any suitable source for my use. How can i allow docker to give permission to my php or what is the solution?
Here is my php code
<?php
$postk = "1220";
$root = "login/";
$room_id = "foile";
$NewRoot = "movie";
if (!file_exists($root . $postk)) {
$dirPathp = $root . $postk;
$resultp = mkdir($dirPathp, 0777, true);
$dirPathpr = $root . $postk . "/" . $room_id;
$resultpr = mkdir($dirPathpr, 0777, true);
} else {
$dirPathpr = $root . $postk . " / " . $room_id;
$resultpr = mkdir($dirPathpr, 0777, true);
} ?>
Here is my Docker File
FROM php:7.3-apache
#Install git and Mysql Extensions for php
RUN apt-get update && apt-get install -y git
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN a2enmod rewrite
COPY . /var/www/html/
EXPOSE 80/tcp
EXPOSE 443/tcp
Here is Docker compose file
version: '3.8'
volumes:
datafiles:
services:
mysql:
image: mysql:8.0.0
container_name: mysql6
environment:
- MYSQL_ROOT_PASSWORD=sopno_1818120**
- MYSQL_TCP_PORT=3306
- TZ=Asia/Dhaka
volumes:
- datafiles:/var/lib/mysql
restart: always
website:
container_name: php6
build:
context: .
dockerfile: Dockerfile
environment:
- DB_HOST=mysql
- MYSQL_DBPORT=3306
- DB_USERNAME=sopnobari_tuneb
- DB_PASSWORD=sopno_1818120**
- DB_NAME=sopnobari_sopno
ports:
- "3050:80"
- "3051:443"
depends_on:
- mysql