Wie man docker wpcli Warning: Failed to create directory "/var/www/html/wp-content/upgrade/..." repariert

Problem:

Beim Versuch, ein Plugin oder eine ähnliche Aktion mit dem wordpress:cli wpcli-Docker-Image zu aktualisieren, zum Beispiel mit einem Befehl wie

docker_wpcli_update.sh
docker-compose exec wpcli wp plugin update google-sitemap-generator

sehen Sie eine Fehlermeldung wie

wpcli_warning.txt
Warning: Failed to create directory. "/var/www/html/wp-content/upgrade/google-sitemap-generator.4.1.16"
+--------------------------+-------------+-------------+--------+
| name                     | old_version | new_version | status |
+--------------------------+-------------+-------------+--------+
| google-sitemap-generator | 4.1.13      | 4.1.16      | Error  |
+--------------------------+-------------+-------------+--------+
Error: No plugins updated (1 failed).

Lösung

Dieser Fehler tritt auf, weil das wordpress-Image (ohne :cli!) auf Debian basiert und das wordpress:cli-Image auf Alpine Linux. Debian verwendet die UID 33 für den www-data-Benutzer, während Alpine Linux 83 verwendet. Um das Berechtigungsproblem zu beheben, müssen Sie das cli-Image zwingen, 33 zu verwenden:

Dies ist auf der wordpress-Docker-Seite dokumentiert.

docker_wpcli_update.sh
docker-compose exec -e HOME=/tmp --user 33:33 wpcli wp plugin update google-sitemap-generator

Check out similar posts by category: Docker, Wordpress