$url="http://www.source.com/top";
$destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");
echo "dest=$destination<br>";
echo "url=$url<br>";
$source=fopen($url,"r");
$maxsize=5000000000;
$length=0;
while (($a=fread($source,1024))&&($length<$maxsize))
{
$tmpfile=$tmpfile . $a;
$length=$length+1024;
}
fwrite($destination,$tmpfile);
fclose($source);
fclose($destination);
Вышеприведенный исходный код PHP работает как шарм в моей учетной записи общего хостинга. Однако ему не удается записать файлы на мою выделенную машину Linux Centos. На этой машине Centos исходный $url может читаться нормально, но эта строка:
$destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");
Не удается записать файл в поле Linux. Я попытался запустить приведенный выше код под пользователем root Linux (например, php file-name.php) и смог создать файл, но не смог прочитать исходный файл:
$destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");
Я получаю ошибку 403. Я очень смущен тем, что происходит с этой машиной Linux Centos. Как я писал ранее в этом поле Centos, у меня проблема с возвратом переменных сеанса пусто между отправкой одной и той же страницы. Любая помощь приветствуется.
chmod 777 -R /var/www/vhosts/domain.com/httpdocs/temp/
и повторите попытку. Переключите привилегии на более безопасные, как только обнаружите проблему - person Jaspreet Chahal   schedule 22.02.2012