У меня есть php, который создает файл, который должен быть исполняемым (это пакетный файл, который должен запускаться системой). По какой-то причине, хотя файл принадлежит apache, а php работает как apache, а файл создан, скрипт умирает в строке chmod. Что мне нужно настроить по-другому, чтобы php мог chmod созданный им файл? Две строки над ним с радостью создают каталог для этого файла, который он chmods до 755, как только он его создает. Мне что-то не хватает?
моя строка chmod выглядит так:
$uploadFilePath = "./path/to/file/"; if(!is_dir($uploadFilePath)){ mkdir($uploadFilePath, 0777 , true) or die("ERROR:can't create directory '$uploadFilePath'"); } ... //write batch file ... chmod ($uploadFilePath . 'sftp.batch' ,0777 ) or die ("\ncan't chmod " . $uploadFilePath . 'sftp.batch');
Скорее всего, из-за umask . Попробуйте установить его до 0
до chmod
.