Это файл test1.php:
<?php
set_time_limit(0);
for($i= 1;$i<5000 ;$i++){
$comm_sjis = "echo 'test'";
$result = exec($comm_sjis);
}
unset($result);
echo 'ok';
Это файл test2.php:
<?php
set_time_limit(0);
function write_txt($str)
{
$filepath = 'E:/temp/test.xml';
if (($fp = @fopen($filepath, "a")) === false) {
return;
}
if (!flock($fp, LOCK_EX)) {
@fclose($fp);
return;
}
if (fwrite($fp, $str . "\n") === false) {
@flock($fp, LOCK_UN);
@fclose($fp);
return;
}
if (!fflush($fp)) {
@flock($fp, LOCK_UN);
@fclose($fp);
return;
}
if (!flock($fp, LOCK_UN)) {
@fclose($fp);
return;
}
if (!fclose($fp)) {
return;
}
}
for($i= 1;$i<100 ;$i++){
write_txt('test');
unlink('E:/temp/test.xml');
}
echo 'ok';
Если я запустил файл test2.php во время работы test1.php, произойдет ошибка:
Предупреждение: unlink (E:/temp/test.xml): разрешение отклонено в C:\xampp\htdocs\test2.php в строке 45
Когда я запускаю test2.php без test1.php, эта ошибка не возникает. Почему unlink дает ошибку Permission denied при выполнении функции?
Я использую XAMPP 3.2 vs php 5.6 с Windows 7.