< P> Fataler Fehler in Php: Uncortn RunTimeException: Das Doktrin -Proxy -Verzeichnis kann nicht erstellt werden. p> Nach zu vielen Testtagen wurde mir klar, dass das Problem mit einer Inkompatibilität zwischen SuiteCrecrm (Symphonie) und Docker's Bind Mount zu tun hat.
Ich habe auf unterschiedliche Weise getestet:
Berechtigungen und Dateibesitz werden doppelt überprüft. Beachten Sie, dass der Wiederaufbau von Cache von der UI von Apache User (www-data) gestartet wird, und die Dateibesitz und die Gruppe ist www-data: www-data. < /P>
< /li>
< li> Das Problem ist jedes Mal vorhanden, wenn ich mit Dockers Bind Mount arbeite, aber seltsamerweise perfekt funktioniert, wenn ich es mit Bitnami -offizieller Veröffentlichung ohne Bind Mount versuche. Wenn ich in dieser Installation die Bindungsmontage festlegt, tritt das Problem erneut auf. Hier und Github ohne Glück. < /p>
Hat jemand eine Vorstellung davon, wie dieses Problem gelöst wird? > Bearbeiten, ich gebe Ihnen einige zusätzliche Informationen.
Code: Select all
FROM ubuntu:24.04
ARG USER_ID=1000
ENV TZ=Europe/Rome
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update
RUN apt -y upgrade
RUN apt-get install vim -y
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install apache2 -y
RUN apt -y install ca-certificates apt-transport-https software-properties-common
RUN add-apt-repository ppa:ondrej/php
RUN apt-get -y update
RUN apt-get install -y php8.2 libapache2-mod-php8.2
RUN apt-get install -y php8.2-fpm libapache2-mod-fcgid
RUN apt-get install -y php8.2-mysql
RUN apt-get install -y php8.2-curl php8.2-intl php8.2-zip php8.2-imap php8.2-gd
RUN apt-get install -y slapd ldap-utils php-ldap php8.2-ldap php8.2-soap
RUN apt-get install -y php8.2-xdebug
RUN apt install -y php8.2-xml php8.2-mbstring
RUN apt install -y zlib1g-dev libxml2-dev
RUN apt-get update && apt-get install -y \
gnupg \
g++ \
procps \
openssl \
git \
unzip \
libzip-dev \
libfreetype6-dev \
libpng-dev \
libjpeg-dev \
libicu-dev \
libonig-dev \
libxslt1-dev \
acl \
&& echo 'alias sf="php bin/console"' >> ~/.bashrc
RUN a2enmod rewrite
RUN a2enconf php8.2-fpm
RUN apt-get update && apt-get upgrade -y && \
apt-get install -y nodejs \
npm
RUN npm install -g @angular/cli
RUN npm install --global yarn
RUN usermod -u ${USER_ID} www-data
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
CMD ["apachectl", "-D", "FOREGROUND"]
EXPOSE 80
EXPOSE 9000
< /code>
Mein Docker-compose.yml < /p>
services:
suitecrm:
container_name: suitecrm-mca
build: .
networks:
- suitecrm_net
volumes:
#SuiteCRM Application Folder
- ./www:/var/www/html:delegated
#PHP config
- ./docker/config/php/php.ini:/etc/php/8.2/apache2/php.ini
- ./docker/config/php/php.ini:/etc/php/8.2/cli/php.ini
#APACHE config
- ./docker/config/apache/sites.conf:/etc/apache2/sites-enabled/sites.conf
#APACHE Log Folder
- ./logs/apache:/var/log/apache2/
#PHP Log Folder
- ./logs/php:/var/log/php/
#PHP Log Folder
- ./logs/xdebug:/tmp/
#XDebug settings
extra_hosts:
- "host.docker.internal:host-gateway"
env_file:
- .env
ports:
- "80:80"
mysql:
container_name: mysql-mca
image: mysql:8.0
ports:
- "3306:3306"
env_file: .env
environment:
- MYSQL_ROOT_PASSWORD=suitecrm
- MYSQL_USER=suitecrm
- MYSQL_PASSWORD=suitecrm
- MYSQL_DATABASE=suitecrm
volumes:
- ./docker/data/mysql:/var/lib/mysql:delegated
networks:
- suitecrm_net
networks:
suitecrm_net:
driver: bridge