Файл move_uploaded_file выдает ошибку «Не удалось открыть поток: отказано в доступе» после всех настроек, которые я сделал - PullRequest
131 голосов
/ 12 ноября 2011

Я получаю эту ошибку, когда пытаюсь настроить каталог загрузки с Apache 2.2 и PHP 5.3 в CentOS.

В php.ini:

upload_tmp_dir = /var/www/html/mysite/tmp_file_upload/

В httpd.conf:

Directory /var/www/html/mysite/tmp_file_upload/>
    Options  -Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory /var/www/html/mysite/images/>
                Options -Indexes
</Directory>

Права доступа к каталогу CentOS:

drwxrwxr-x 2 root root 4096 Nov 11 10:01 images
drwxr-xr-x 2 root root 4096 Nov 12 04:54 tmp_file_upload

Независимо от того, что я делаю, при загрузке файла я получаю эту ошибку из PHP:

Предупреждение: move_uploaded_file (images / robot.jpg): не удалось открыть поток: отказано в разрешении в /var/www/html/mysite/process.php на строке 78

Предупреждение: move_uploaded_file (): невозможно переместить '/tmp / phpsKD2Qm 'to' images / robot.jpg 'в /var/www/html/mysite/process.php в строке 78

Как видите, конфигурация никогда не бралась изФайл php.ini относительно файла загрузки.

Что я здесь не так делаю?

Ответы [ 12 ]

2 голосов
/ 22 ноября 2012

Просто измените разрешение tmp_file_upload на 755 Ниже приводится команда chmod -R 755 tmp_file_upload

2 голосов
/ 12 ноября 2011

Попробуйте это

find /var/www/html/mysite/images/ -type f -print0 | xargs -0 chmod -v 664

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...