Столкнулся с указанной в заголовке ситуацией на LEMP сервере. Имею NGINX+ PHP7.3-FPM+MariaDB. Не работает, понятное дело, из-за php. Почитал интернеты, все такие мудрые, пишут что
define(‘WP_TEMP_DIR’, dirname(__FILE__).’/wp-content/tmp/’);
в /config.php и создание соответствующей директории /wp-content/tmp спасёт и решит проблему. А ничего подобного! Добро пожаловать под кат 🙂
Но проблема-то, как оказалось, не сайтовая, а именно в php, которому в конфиге запрещено скачивать файлы. /etc/php/7.3/fpm/php.ini:
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = tmp
И создаём директорию /tmp в корне сайта WP с соответствующими правами доступа. Всё!
А, нет, не всё 🙂
# service php7.3-fpm restart
А можно пожалуйста пошаговую инструкцию для чайников, куда и что прописать?
Есть некое хранилище сервера, которое отображается как начало сайта, его «корень». Там лежит index.php или что-то типа его, которое открывается при открытии сайта по имени http(s)://sitename.domain/. Так вот, в той же самое директории, где лежит корень сайта, надо создать директорию tmp и задать ей такие же права, как и у расположенных рядом в этой же директории. Например:
$ ls -la
итого 272
drwxr-xr-x 6 www-data www-data 4096 май 13 10:18 .
drwxr-xr-x 5 root root 4096 июл 31 2020 ..
-rw-r—r— 1 www-data www-data 405 май 25 2020 index.php
-rw-r—r— 1 www-data www-data 19915 апр 15 19:15 license.txt
-rwxr-xr-x 1 www-data www-data 5002 янв 18 2010 sitelogo.png
drwxrwxrwx 2 www-data www-data 4096 май 19 07:17 tmp
Чтобы создать такую директорию, надо перейти в корень сайта командой:
cd путь-к-директории
и выполнить команду:
mkdir tmp
Нужно посмотреть права на файлы и директории в коне сайта командой:
ls -la
Выше я уже написал как это выглядит у меня, права на файлы принадлежат пользователю www-data и группе www-data, но это не обязательно будет так, может быть просто www и www или что-то другое. Надо дать такие же права, как и у всех файлов командой:
chown www-data:www-data tmp
(здесь www-data, вероятно, надо будет поменять на то, что нужно)
А так же, надо дать права на запись пользователям:
chmod 777 tmp
Уже точно не помню, где об этом писалось, но было сделано именно 777, при просмотре это видно как:
drwxrwxrwx … tmp
Ну а остальные действия по перезапуску php7.3-fpm написаны ранее.