2017-01-23 8 views
0

У меня есть файл PHP на моем apache2 сервере (вар/WWW/HTML):PHP переименования() работает в терминале, но не на сервере

<?php 
    $filename = "/var/www/html/test1.txt"; 
    $filename2 = $filename . ".old"; 
    rename($filename, $filename2); 
?> 

Если я выполнить этот скрипт в терминале, он работает, но если я загружаю один и тот же скрипт в свой браузер, ничего не происходит. Это вопрос разрешения?

Спасибо за помощь

+0

Что такое возвращаемое значение вызова функции «переименование»? – lxg

+0

jep. это. проверить права собственности на файл с помощью ls -l, веб-сервер обычно работает как 'www-data' –

+0

Собственность - это мой пользователь, а функция переименования возвращает 1 в терминале, но ничего в моем браузере. –

ответ

0

Это, безусловно, проблема разрешения. Предполагая, что вы новичок, я рекомендую технику woring-out.

~$ sudo chmod 777 -R /var/www/html 
+0

сделал это до вашего ответа, но не помог –

+0

Вы уверены, что сценарий даже выполняется в первую очередь? –

+0

Что вы имеете в виду с первого места? –

0

пытаются использовать

move_uploaded_file вместо переименования.

+0

также не работает –

+0

Вы уверены, что в 0777 разрешений в файле - и о разрешениях в каталоге, где вы хотите разместить новый файл? – Filip

+0

нашел проблему, спасибо, я также должен предоставить html-папку chmod 777, иначе она не будет работать –