Мы использовали для редактирования скрипта полезной нагрузки через терминал на старом сервере.
Чтобы упростить и избежать опечаток, я хотел бы разработать php-скрипт, который генерирует полезную нагрузку, сохранить его в файл и использовать встроенную функцию FTP в PHP для загрузки файла на FTP-сервер и chmod сценария на 755.
Но мой сгенерированный полезный груз не особенно нравится серверу. Это не работает.
#./payload.sh
-sh: ./payload.sh: not found
#
Однако после выполнения простого dos2unix payload.sh
все работает нормально.
#dos2unix payload.sh
#./payload.sh
[OK] running payload....
#
Как я могу автоматически создать свой файл, чтобы избежать необходимости каждый раз в dos2unix? Я попробовал очевидный метод KISS:
$contents = str_replace("\r","",$contents);
$contents = trim($contents);
Неудачно. Скрипт все еще не запускается.
Так что я заглянул в dos2unix.c и dos2unix.h и обнаружил, что, казалось, не все так просто, как я думал. Там было 800 с лишним строк кода.
Есть ли что-нибудь более простое, что я могу сделать в PHP? FWIW, я должен признать, что в настоящее время я использую напечатанные вручную файлы, написанные в Sublime Text 2 на моем Mac. Я попытался «Сохранить с кодировкой» / «UTF-8» и выбрал «Unix» как «Концы строк».
Сейчас я использую FTP_BINARY вместо FTP_ASCII. Работает сейчас — EDP
Других решений пока нет …