Kako podesiti PHP opcije WordPressa u Dockeru

0
110
Kako podesiti PHP opcije Wordpressa u Dockeru

Naučite kako da podesite PHP opcije kada pokrećete WordPress u kontejneru koristeći Docker, Docker Svarm, Docker Compose i Kubernetes.
U ovom tekstu ćete naučiti kako da podesite PHP opcije u Docker-u koristeći .htaccess za WordPress.

U zavisnosti od toga kako se koristi vaša PHP aplikacija, u ovom slučaju WordPress, možda ćete morati da prilagodite neke od PHP opcija.
Obično su ove opcije postavljene u vašoj php.ini fajlu, a mogu se onda prepisati .htaccess datotekom, što pojednostavljuje stvari.

Najčešće opcije koje ćete prilagoditi za WordPress su:

  • memory_limit
  • upload_max_size
  • post_max_size
  • upload_max_filesize
  • max_execution_time
  • max_input_time

Podrazumevane vrednosti će obično biti dovoljne. Međutim, ako primetite da ograničenja memorije ili ograničenja za otpremanje vas sprečavaju da dodate sadržaj, ove vrednosti bi trebalo da se podese.

PHP opcije treba prilagođavati samo prema potrebi. Preporučuje se da se ove vrednosti ostave kao podrazumevane, osim ako ne budete imali problema.

U primerima ispod, napravićemo .ini datoteku za čuvanje naših novih PHP opcija. Datoteka će zatim biti dodata u direktorijum conf.d za PHP. Strategija dodavanja ove datoteke zavisi od toga na kojoj platformi vaš Docker kontejner radi. Uključili smo uputstva za najčešće: Docker, Docker Compose \ Svarm i Kubernetes.

Docker

Napravimo novi fajl pod nazivom wordpress.ini i postavimo PHP podešavanje.
file_uploads = On
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 1000

Kada pokrenete kontejner, potrebno je mountovati wordpress.ini kao volume unutar kontejnera. Mora da se mountuje kao datoteka u direktorijum /usr/local/etc/php/conf.d

docker run -d -p 8080:80 \
-v ./wordpress.ini:/usr/local/etc/php/conf.d/wordpress.ini \
-e WORDPRESS_DB_HOST="db:3306" \
-e WORDPRESS_DB_PASSWORD="NekiPassword" \
wordpress:5.5.0-php7.4-apache

Docker Compose \ Swarm

Napravimo novi fajl pod nazivom wordpress.ini i postavimo PHP podešavanje.

file_uploads = On
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 1000

A zatim mountujemo fajl kao volume u svoj kontejner.

version: '2'
services:
   wordpress:
     depends_on:
       - db
     image: wordpress:5.5.0-php7.2-apache
     ports:
       - "8080:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_PASSWORD:NekiPassword
 volumes: - ./wordpress.ini:/usr/local/etc/php/conf.d/wordpress.ini volumes: db_data:

Kubernetes

apiVersion: v1
kind: ConfigMap
metadata:
  name: wordpress-php-options
data:
  wordpress.ini: |
    file_uploads = On
    memory_limit 256M
    upload_max_filesize 64M
    post_max_size 64M
    max_execution_time 300
    max_input_time 1000   

Potvrdićemo ConfigMap da bismo ga kreirali u Kubernetes klasteru.

kubectl apply -f wordpress-htaccess-configmap.yaml

Sada updejtujemo yaml fajl da bismo postavili ConfigMap ključ podataka wordpress-htaccess kao datoteku.

apiVersion: apps/v1
kind: Deployment
metadata:
    name: wordpress
    labels:
        app: wordpress
spec:
    replicas: 1
    selector:
        matchLabels:
            app: wordpress
    template:
        metadata:
            labels:
                app: wordpress
        spec:
            containers:
                - name: wordpress
                  image: wordpress:5.5.0-php7.2-apache
                  ports:
                    - containerPort: 80
                  envFrom:
                    configMap:
                      name: wordpress
                  volumeMounts:
                  - name: wordpress-php-optons
                    mountPath: "/usr/local/php/conf.d/uploads.ini"
            volumes:
            - name: wordpress-htaccess
              configMap:
                configMapName: wordpress-php-options
                defaultMode: 0400

Leave a reply