В предыдущем посте я пытался обновить кодировку для файла загрузки с php. Одним из предложений было запустить команду unix2dos перед отправкой файла пользователю. Это прекрасно работает, когда я запускаю команду на Linux, но когда я пытаюсь запустить команду из php, я ничего не получаю. Вот что я попробовал:
$cmd = "unix2dos -n $fullPath $downloadFile";
echo exec($cmd, $out, $retVal);
На экране ничего не отображается, $ retVal равно 0, а $ out - пустая строка.
echo system($cmd, $retVal);
На экране ничего не отображается, $ retVal равно 0.
echo shell_exec($cmd);
На экране ничего не отображается.
Я также пытался экранировать команду и ее параметры, такие как:
$cmd = escapeshellcmd($cmd);
и
$cmd = "unix2dos ". escapeshellarg("-n \"$fullPath\" \"$downloadFile\"");
Пожалуйста, дайте мне знать, если вы видите что-то, что я делаю неправильно.
Спасибо!
Редактировать: Вот некоторая информация, которая может быть полезна.
версия unix2dos: 2.2 (1995.03.31)
PHP версия 5.2.9
Запуск в Apache 2 в Redhat Enterprise Linux 4