Избегайте необходимости dos2unix в php

Мы использовали для редактирования скрипта полезной нагрузки через терминал на старом сервере.

Чтобы упростить и избежать опечаток, я хотел бы разработать 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" как "Концы строк".

1 ответ

Сейчас я использую FTP_BINARY вместо FTP_ASCII. Работает сейчас - EDP

Другие вопросы по тегам