Запускается через php скрипт.
как именно запускается? Через SSH-консоль, через вебсервер, может через крон? Это все может быть под разными пользователями.
Для начала разобраться какие пользователи вообще замешаны. Для этого на боевом сервере делаешь эксперимент:
создаешь файлик от имени обычного скрипта, от имени вашего опртимизатора, и от имени фтп-заливки.
Вот прям создай папочку "test" и залей в нее hello_ftp.txt через ftp
Затем из php скрипта сделай file_put_contents('test/hello_php.txt', 'foo');
И в оптимизатор тоже добавь похожее file_put_contents('test/hello_optimizator.txt', 'foo');
Затем зайди через SSH в папку test, напиши
ls -l
Если SSH нет, то можно опять-же сделать скриптом
$files = glob('/path/to/test/*');
foreach ($files as $fn) {
echo $fn . ' | ' . fileowner($fn) . '<br>' . PHP_EOL;
}
Скорее всего найдутся отличия. Останется придумать как изменить способ запуска, чтобы проблема не поворялась в будущем, ну и поправить владельца у уже существующих файлов (chown).