1

我们曾经通过旧服务器上的终端编辑有效负载脚本。

为了简化和避免拼写错误,我想设计一个生成有效负载的 php 脚本,将其保存到文件中,并使用 PHP 中的内置 FTP 功能将文件上传到 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,我不得不承认,目前我一直在我的 Mac 上使用用 Sublime Text 2 编写的手动输入文件。我确实尝试过“使用编码保存”/“UTF-8”并选择“Unix”作为“行尾”。

4

1 回答 1

0

我现在使用 FTP_BINARY 而不是 FTP_ASCII。现在工作。– 电子数据处理

于 2017-08-29T05:52:33.047 回答